2

让我从一个简单的例子开始重现我的问题:

  1. 创建 WinForms 项目。
  2. 在上面放一个 ToolStrip。
  3. 在其中制作一个 ToolstripDropdownButton(没有子级)。
  4. 向按钮添加一个单击事件处理程序,如下所示:

    MessageBox.Show("text", "Caption");
    

    (重点是使主要形式松散它的焦点)。

为了让问题更明显,让我们做一些不必要的补充:

  1. 将 ToolStip 的 RenderMode 设置为 ManagerRenderMode。
  2. 将它的 Autosize 设置为 false 并使其变大。

这应该足以重现它。运行应用程序并单击按钮。你会得到弹出窗口。关闭弹出窗口,瞧……按钮现在看起来像是有人按住它。

关于如何将其重置为默认状态的任何想法?

我尝试将 Buttons ResetBackColor、Refresh ... 也称为 ToolStrips。似乎不起作用。也许我错过了什么?

4

1 回答 1

2

MessageBox 或模态表单会干扰它。下拉菜单需要子菜单项。

示例解决方法:

private void toolStripDropDownButton1_Click(object sender, EventArgs e) {
  this.BeginInvoke(new Action(() => MessageBox.Show("Help")));
}
于 2013-03-01T16:26:33.203 回答