日期:2014-05-17  浏览次数:20751 次

太怪了,我只是新建了一个禁用滚轮的Combobox控件,为何窗体中所有控件的滚轮操作都失效了
是否还少了一个什么判断:
这是从网上找来的代码:
namespace DataTools
{
public class comboNoWheel: System.Windows.Forms.ComboBox,IMessageFilter   
{   
    public comboNoWheel()   
    {   
     Application.AddMessageFilter(this);   
    }   
    
    public bool PreFilterMessage(ref Message m)   
    {   
     if(m.Msg == 0x020A)namespace DataTools
{
public class comboNoWheel: System.Windows.Forms.ComboBox,IMessageFilter   
{   
    public comboNoWheel()   
    {   
     Application.AddMessageFilter(this);   
    }   
    
    public bool PreFilterMessage(ref Message m)   
    {   
     if(m.Msg == 0x020A)   //感觉 是这里少了个判断不知道加什么
      return true;   
     return false;   
    }   

}

      return true;   
     return false;   
    }   

}

------解决方案--------------------
Application.AddMessageFilter(this);

这一行会往全局的消息泵中添加过滤器,自然对整个窗体都管用。
------解决方案--------------------
一个重写事件的方法
namespace WindowsFormsApplication1
{
    public partial class Form1 : Form
    {
        public bool isWheel = false;
        public string strComB = null;