Общее контекстное меню на уровне приложения

У меня очень большое бизнес-приложение, которое содержит практически все типы элементов управления + сторонние элементы управления. Теперь у меня есть требование, где я должен открыть форму "Ctrl + двойной щелчок" на любом элементе управления (сетка, ячейка, строка, триод, кнопка и т. Д. И т. Д.)..

Возможно ли это в Winforms C#.Net.

Я пытался с этим кодом, но это не помогло

const int WM_LBUTTONDBLCLK = 0x0203;//client area
const int WM_NCLBUTTONDBLCLK = 0x00A3;//non-client area
protected override void WndProc(ref Message m)
{
  if (m.Msg == WM_LBUTTONDBLCLK)
    return;
  if (m.Msg == WM_NCLBUTTONDBLCLK)
    return;
  base.WndProc(ref m);
}

Я не уверен, что смогу создать общее контекстное меню на уровне приложения. Спасибо.

1 ответ

Для этого вам придется использовать крючки для клавиатуры и мыши.

Вот несколько замечательных статей, которые помогут вам начать.

Обработка глобальных мышиных и клавиатурных хуков в C#

А также

WPF, образец низкоуровневой клавиатуры

Другие вопросы по тегам