C# WinForm 怎样给控件添加滚动条事件?

C# WinForm 怎样给控件添加滚动条事件?,第1张

测试了一下,可以使用自定义事件

    public partial class Form1 : Form

    {

        //定义事件

        public event EventHandler HScrollEvent

        public event EventHandler VScrollEvent

        public Form1()

        {

            InitializeComponent()

            //注册事件

            this.VScrollEvent += delegate

            {

                { this.Text = "纵向滚动了!" }

            }

        }

        protected override void WndProc(ref Message m)

        {

            //在输出窗口自己看对应的数字是多少

            Debug.Print(m.Msg.ToString())

            switch (m.Msg.ToString())

            {

                case "528"://我测试对应垂直滚动

                    //引发事件

                    if (this.VScrollEvent != null)

                        this.VScrollEvent(this, null)

                    break

                case "你自己检测数字":

                    if (this.HScrollEvent != null)

                        this.HScrollEvent(this, null)

                    break

                default:

                    break

            }

            base.WndProc(ref m)

        }

        private void button1_Click(object sender, EventArgs e)

        {

            this.Text = ""//清空便于对比

        }

    }

        <RichTextBox Name="rtb" MouseWheel="RichTextBox_MouseWheel" />

看好了,这个是在xaml里的写法,在c#里写要用+=

            rtb.MouseWheel += new MouseWheelEventHandler(RichTextBox_MouseWheel)

                    void RichTextBox_MouseWheel(object sender, MouseWheelEventArgs e)

        {

            

        }

MFC鼠标滚轮消息WM_MOUSEWHEEL

使用WM_MOUSEWHEEL

需要把CWnd设定为Focus

ON_WM_MOUSEWHEEL( )

CWnd::OnMouseWheel

afx_msg BOOL OnMouseWheel( UINT nFlags, short zDelta, CPoint pt )

返回值:如果允许鼠标轮滚动,则返回非零值;否则返回0。

参数:

nFlags 指明是否按下了虚拟键。这个参数可以是下列值的组合:

· MK_CONTROL 如果CTRL键被按下,则设置此位。

· MK_LBUTTON 如果鼠标左键被按下,则设置此位。

· MK_MBUTTON 如果鼠标中键被按下,则设置此位。

· MK_RBUTTON 如果鼠标右键被按下,则设置此位。

· MK_SHIFT 如果SHIFT键被按下,则设置此位。

zDelta 指明了旋转的距离。zDelta值以WHEEL_DELTA,即120的倍数或部分的形式表达。小于零的数表明往回滚动(向着用户),而大于零的数表明滚向远处(离开用户)。用户可以在鼠标软件中改变滚轮设置以反转这种响应。有关这个参数的更多信息参见说明部分。

pt 指定了光标的x和y轴坐标。这些坐标通常是相对于窗口的左上角的。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/bake/11512932.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-16
下一篇 2023-05-16

发表评论

登录后才能评论

评论列表(0条)

保存