1

ContextMenuStrip我在其中创建自定义Button

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

当我打开此上下文菜单并将鼠标移到“项目”上时,它会突出显示。但是在我单击Button然后再次将鼠标移到“项目”上之后,它不再突出显示。看起来像Button捕获鼠标。Button单击后如何避免这种情况或释放捕获?

4

1 回答 1

2

您可以创建自己的按钮类继承Button并设置ControlStyles.Selectablefalse,这将阻止它获得焦点:

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

然后就用它代替Button

_contextMenu.Items.Add(new ToolStripControlHost(new MyButton()));
于 2016-02-12T13:37:36.323 回答