2012-04-11 31 views
2

是否可以为窗口的边框创建MouseEnter-Event?我的意思是最小化和最大化按钮。因为如果我为Form1设置事件,它只在我处于表格内时才起作用,但不在边框和按钮上。C#MouseEnter-整个窗口的事件

+0

这里http://stackoverflow.com/questions/3312752/capturing-mouse-keyboard-events-outside-of-form-app在后台运行可能会对你有所帮助。 – OammieR 2012-04-11 09:08:01

回答

3

您可以覆盖的WndProc你形成并可以检测到鼠标移动

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

注意:我的代码检测鼠标移动,所以如果你只需要鼠标输入,你可以使一个全局变量(布尔)和它周围玩耍,以避免多次调用 – 2012-04-11 09:23:22

+1

非常感谢你! – asdasdad 2012-04-11 09:36:56

+0

+1,不客气 – 2012-04-11 09:55:47