【发布时间】:2018-12-15 16:28:29
【问题描述】:
如果您曾经从 Chrome/FireFox/Visual Studio 等任何专业应用程序中移除焦点,然后重新单击按钮/菜单项,它实际上会单击它,就好像您从未失去焦点一样。
如何在 C# WinForm 中应用相同的概念?我尝试了很多类似
private void form1_MouseClick(object sender, MouseEventArgs e)
{
BringToFront();
Activate();
}
Activate/focus/select/etc... 没有什么能以同样的方式做出反应,实际点击菜单总是需要点击 3-4 次!
我曾想过为每个控件创建一个点击事件,但这似乎相当多余。
【问题讨论】:
-
不清楚你想要实现什么。为什么即使 Form 没有焦点,你也想点击 Form 上的控件?
-
好吧,问题是如果您 Alt+Tab 退出并 Alt+tab 重新进入,您将无法单击“菜单项”,需要单击 2 次。现在,如果您的整个表单没有被聚焦,那么您单击“菜单项”将需要 3-4 次单击才能触发操作。
-
我会录制一个gif并上传它以显示问题所在,我想我的解释不好
-
@TaW 我上传并附加到我的原始帖子视频
-
您对菜单的看法是正确的。 (虽然不是按钮,imo)。试试这个:
private void menuStrip1_MouseEnter(object sender, EventArgs e) { menuStrip1.Focus(); }
标签: c# forms winforms click controls