zoukankan      html  css  js  c++  java
  • winform的comboBox使鼠标滑轮修改值失效

    目标:

    winform窗体很多combobox下拉框,当他们其中的一个获得焦点的时候,如果滚动鼠标就会改变下拉框的值,要实现让鼠标滚轮不对下拉框的值造成影响

    如下代码直接拷贝粘贴,不用修改

    方法一:

    实现一:
    public partial class Form1 : Form, IMessageFilter
    {
        public Form1()
        {
            InitializeComponent();
        }
    
        #region IMessageFilter 成员
    
        public bool PreFilterMessage(ref Message m)
        {
            if (m.Msg == 522)
            {
                return true;
            }
            else
            {
                return false;
            }
        }
    
        #endregion
    
        private void Form1_Load(object sender, EventArgs e)
        {
            Application.AddMessageFilter(this);
        }
    }

    方法二:

    在同一个namespace中添加一个类:

    class comBoBoxEx : System.Windows.Forms.ComboBox
        {
            public bool isWheel = false;
            public string strComB = null;
            protected override void OnMouseWheel(System.Windows.Forms.MouseEventArgs e)
            {
                strComB = Text;
                isWheel = true;
            }
    
            protected override void OnMouseDown(System.Windows.Forms.MouseEventArgs e)
            {
                base.OnMouseDown(e);
                isWheel = false;
    
            }
    
            protected override void OnTextChanged(EventArgs e)
            {
                base.OnTextChanged(e);
                if (isWheel)
                {
                    Text = strComB;
                }
            }
        }
    

      

    参考:http://blog.sina.com.cn/s/blog_762e78b101011e8p.html

  • 相关阅读:
    Linux压缩和解压类指令
    Linux 搜索查找类指令
    Linux时间日期类指令
    Linux文件目录类指令
    Linux帮助指令
    Linux运行级别
    微信授权获取code/openid
    微信公众配置
    MySQL规范
    PHP7搭建项目遇到的坑
  • 原文地址:https://www.cnblogs.com/Donnnnnn/p/6007248.html
Copyright © 2011-2022 走看看