【问题标题】:How to change focus on a groupbox click?如何更改组框点击的焦点?
【发布时间】:2020-11-16 17:20:56
【问题描述】:

当单击放置在组框内的文本框外部时,我正在尝试重置焦点。最好的方法是什么?正如我所看到的,没有像 mouseclick/click 这样的事件。

它应该在点击完成时移动焦点,而不是当鼠标离开框或类似的东西时。

有什么想法吗?

【问题讨论】:

标签: c# forms click


【解决方案1】:

正如我所见,没有像 mouseclick/click 这样的事件 组框。

这是对您问题的直译。

在表单的 Load() 事件中,将 GroupBox 转换回通用的 Control 类,以便您可以连接 Click() 事件(或可用事件中的类似事件):

private void Form1_Load(object sender, EventArgs e)
{
    ((Control)groupBox1).Click += Ctl_Click;
}

private void Ctl_Click(object sender, EventArgs e)
{
    textBox1.Focus();
}

或者使用匿名委托,这样您就不需要单独的辅助方法:

private void Form1_Load(object sender, EventArgs e)
{
    ((Control)groupBox1).Click += (s2, e2) => { textBox1.Focus(); };
}

【讨论】:

  • 太棒了。谢谢,很好的答案,不知道你能做到这一点。
  • 我已经这样做了很长时间(20 多年)并且没有想到那个。聪明。
  • @JesseChunn 在 SO 上找到一段代码,其执行方式与您过去看到的完全不同,这总是很有趣。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-08-19
  • 1970-01-01
  • 1970-01-01
  • 2012-01-09
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多