2012-04-11 3 views
2

Возможно ли создать MouseEnter-Event также для границы окна? Я имею в виду также для кнопок минимизации и максимизации. Потому что, если я устанавливаю событие для своей Form1, он работает только тогда, когда я внутри формы, но не на границе и кнопках.C# MouseEnter-Event для всего окна

+0

Здесь http://stackoverflow.com/questions/3312752/capturing-mouse-keyboard-events-outside-of-form-app - Возможно, вам поможет помощь в фоновом режиме. – OammieR

ответ

3

Вы можете переопределить WndProc в вас сформироваться и вы можете обнаружить MouseMove

protected override void WndProc(ref Message m) 
     { 
      base.WndProc(ref m); 
      // mouse in window or in Border and max, close & min buttons  
      if (m.Msg == 0xa0 || m.Msg == 0x200) 
      { 
       //Do some thing 
      } 
     } 
+0

Примечание: мой код обнаруживает движение мыши, поэтому, если вы хотите ввести только мышь, вы можете сделать глобальную переменную (bool) и поиграть вокруг нее, чтобы избежать множественных вызовов. –

+1

Отлично работает! – asdasdad

+0

+1, добро пожаловать –