【发布时间】:2013-03-01 16:20:06
【问题描述】:
让我从一个简单的例子开始重现我的问题:
- 创建 WinForms 项目。
- 在上面放一个 ToolStrip。
- 在其中创建一个 ToolstripDropdownButton(没有子级)。
-
为按钮添加一个点击事件处理程序,如下所示:
MessageBox.Show("text", "Caption");(重点是让主窗体失去焦点)。
为了让问题更明显,让我们做一些不必要的补充:
- 将 ToolStip 的 RenderMode 设置为 ManagerRenderMode。
- 将其 Autosize 设置为 false 并将其放大一点。
这应该足以重现它。运行应用程序并单击按钮。你会得到弹出窗口。关闭弹出窗口,瞧……按钮现在看起来像是有人按住它。
关于如何将其重置为默认状态的任何想法?
我尝试将按钮 ResetBackColor、Refresh ... 也称为 ToolStrips。似乎不起作用。也许我错过了什么?
【问题讨论】:
-
你在哪里添加你的事件处理程序?如果您正在处理 button_click 事件,那么它不应该以这种方式运行,但如果您正在处理类似 on button_down 的事件,您的主 GUI 可能会由于跨线程而停止运行,并失败。
-
正如我所说的,它通常是“点击事件处理程序”。
标签: c# winforms focus toolstrip toolstripdropdown