让我从一个简单的例子开始来重现我的问题:
- 创建 WinForms 项目。
- 将 ToolStrip 拖放到其上。
- 在其中创建一个 ToolstripDropdownButton(没有子项)。
向按钮添加一个点击事件处理程序,如下所示:
MessageBox.Show("text", "Caption");
(焦点是让主窗体失去焦点)。
为了让问题更加明显,让我们做一些不必要的补充:
- 将 ToolStip 的 RenderMode 设置为 ManagerRenderMode。
- 将其“自动调整大小”设置为 false,并将其调大一点。
这应该足以重现它。运行应用程序并单击按钮。你会看到弹出窗口。关闭弹出窗口,瞧……按钮现在看起来就像有人按住它一样。
关于如何将其重置为默认状态有什么想法吗?
我尝试将按钮 ResetBackColor、Refresh ...也称为 ToolStrips。似乎不起作用。也许我错过了什么?
最佳答案
消息框或模态表单会干扰这一点。下拉菜单需要子菜单项。
示例解决方法:
private void toolStripDropDownButton1_Click(object sender, EventArgs e) {
this.BeginInvoke(new Action(() => MessageBox.Show("Help")));
}
关于c# - 窗口失去焦点后更新 ToolstripDropdownButton 时出现问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15162152/