禁用Button的鼠标捕获

时间:2016-02-12 13:25:09

标签: c# .net winforms toolstrip mousecapture

我在其中创建了带有ContextMenuStrip的自定义Button

ContextMenuStrip _contextMenu = new ContextMenuStrip();
_contextMenu.Items.Add(new ToolStripMenuItem("Item"));
_contextMenu.Items.Add(new ToolStripControlHost(new Button()));

当我打开此上下文菜单并将鼠标移到'项目'它突出显示。但是在我点击Button然后将鼠标移到'项目'之后再次它不再突出显示。看起来像Button捕获鼠标。如何在Button点击后停止此操作或释放捕获?

1 个答案:

答案 0 :(得分:2)

您可以创建自己的继承自Button的按钮类,并将ControlStyles.Selectable设置为false,这样可以防止它成为焦点:

public class MyButton : Button
{
    public MyButton()
    {
        SetStyle(ControlStyles.Selectable, false);
    }
}

然后只使用它代替Button

_contextMenu.Items.Add(new ToolStripControlHost(new MyButton()));