У меня проблема с MouseEvents в моем приложении WinForm C #.
Я хочу получить всех щелчков мышью в моем приложении, но я не хочу помещать слушатель в каждый дочерний компонент и не использовать ловушку мыши Windows.
На Flash я мог бы поставить слушателя на сцену, чтобы получить все MouseEvents в фильме.
Есть ли такая вещь на C #? Глобальный MouseListener?
Изменить:
Я создаю этот класс из IMessageFilter и используемого Application.AddMessageFilter.
public class GlobalMouseHandler : IMessageFilter{
private const int WM_LBUTTONDOWN = 0x201;
public bool PreFilterMessage(ref Message m){
if (m.Msg == WM_LBUTTONDOWN) {
// Do stuffs
}
return false;
}
}
И поместите этот код в элементы управления, которые должны прослушивать глобальные щелчки:
GlobalMouseHandler globalClick = new GlobalMouseHandler();
Application.AddMessageFilter(globalClick);