如题,拉了一个vscroll控件,我想完成一个操作,当鼠标按住滚动条,拖动时,不执行代码,当拖动结束,放掉鼠标,也就是mouseup的时候,得到vscroll控件的vaule值,然后对用这个vaule值去计算一些数字。
现在的问题是,我在vscroll控件的VauleChange事件里写代码,但这个事件只要vaule值一变就发消息过来执行了,而且vscroll控件里没有muoseUp消息事件,我控制不了。

解决方案 »

  1.   

    拦一下鼠标相关的windows消息~
      

  2.   

    VauleChange事件中判断鼠标的左键状态就可以了
      

  3.   

    vscroll.MouseUp+=new MouseEventHandler(c_MouseUp);
    在c_MouseUp事件中做外部变量记录鼠标状态,VauleChange时就能获得了
      

  4.   

    我已经知道了,vscroll控件的这些鼠标消息在操作过程中是不对外发送的,只在他内部处理,所以我们是得不到UpDown消息的,楼上的都说错了,根本就没有消息传给我,怎么写事件函数。C++里就如此,所以C#里肯定也如此。
      

  5.   

    继承这个控件,重写PreProcessMessage,Wndproc等方法,怎么会拦不到?