Отключить захват мыши кнопкой

Я создаю кастом ContextMenuStrip с Button в этом:

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

Когда я открываю это контекстное меню и перемещаю курсор мыши на "Элемент", он подсвечивается. Но после того, как я нажал Button а затем снова наведите курсор мыши на "Предмет", он больше не выделяется. Похоже Button захватывает мышь Как я могу избежать этого или освободить захват после Button щелчок?

1 ответ

Решение

Вы можете создать свой собственный класс кнопок, унаследованных от Button и установить ControlStyles.Selectable в false, это не даст ему сфокусироваться:

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

А потом просто используйте его вместо Button:

_contextMenu.Items.Add(new ToolStripControlHost(new MyButton()));
Другие вопросы по тегам