浅析如何屏蔽C#鼠标滚轮相关事件

C#鼠标滚轮主要是针对鼠标上的滚轮滚动中,改变值的问题。通过这一代码能解决这个问题,其中需要用到IMessageFilter 成员。C#鼠标滚轮也是鼠标控制的重要组成部分。

 
 
 
  1. public partial class Form1 : Form,IMessageFilter   
  2. {   
  3. public Form1()   
  4. {   
  5. InitializeComponent();   
  6.  
  7.  
  8. #region IMessageFilter 成员   
  9.  
  10. public bool PreFilterMessage(ref Message m)   
  11. {   
  12. if (m.Msg == 522)   
  13. {   
  14. return true;   
  15. }   
  16. else   
  17. {   
  18. return false;   
  19. }   
  20.  
  21.  
  22. #endregion   
  23.  
  24. private void Form1_Load(object sender, EventArgs e)   
  25. {   
  26. Application.AddMessageFilter(this );   
  27. }   
  28. }   
  29. public partial class Form1 : Form,IMessageFilter  
  30. {  
  31. public Form1()  
  32. {  
  33. InitializeComponent();  
  34. }  
  35.  
  36. #region IMessageFilter 成员  
  37.  
  38. public bool PreFilterMessage(ref Message m)  
  39. {  
  40. if (m.Msg == 522)  
  41. {  
  42. return true;  
  43. }  
  44. else 
  45. {  
  46. return false;  
  47. }  
  48. }  
  49.  
  50. #endregion  
  51.  
  52. private void Form1_Load(object sender, EventArgs e)  
  53. {  
  54. Application.AddMessageFilter(this );  
  55. }  

这样就可以实现当一个控件,比如commbox或者numupdown等获得焦点的时候,滚动鼠标滚动就不会改变值了。

如何屏蔽C#鼠标滚轮相关事件就介绍到这里。

【编辑推荐】

  1. C#关机代码的实现浅析
  2. C#程序设计关闭Windows窗体浅析
  3. C#程序设计获取系统信息的Windows窗体浅析
  4. C#递归算法理解的实例分析
  5. C#递归思路的使用实例详解
THE END