如何在.Net下控件不响应鼠标滚轮动作
2009-05-19 23:38
253 查看
在VB6.0时代,VB还不是内嵌支持鼠标滚轮,需要用API将鼠标的WM_MOUSEWHEEL消息发送到控件上来响应滚动事件。这要做通常麻烦,而且代码不容易控制。
今天我在.Net下研究,发现.Net的控件本身已经支持了MouseWheel事件。但是,又有了问题,既然默认可以响应鼠标滚轮事件了,那我如果我想禁用就比较麻烦了,也就是使控件对鼠标滚轮滚动不作响应。差了MSDN,其实微软早就设计好了一个类 HandledMouseEventArgs ,定义如下
Public Class HandledMouseEventArgs
Inherits System.Windows.Forms.MouseEventArgs
成员属于: System.Windows.Forms
摘要:
允许自定义控件防止将 System.Windows.Forms.Control.MouseWheel 事件发送到它的父容器。
这个类继承于MouseEventArgs,也就是我可以将鼠标事件响应的参数 e 赋予它,然后有这个类的对象来将事件句柄禁用。示例代码如下:
Private Sub Form1_MouseWheel( _
ByVal sender As Object, _
ByVal e As System.Windows.Forms.MouseEventArgs) _
Handles Me.MouseWheel
Dim wm As HandledMouseEventArgs = e
wm.Handled = True
End Sub
今天我在.Net下研究,发现.Net的控件本身已经支持了MouseWheel事件。但是,又有了问题,既然默认可以响应鼠标滚轮事件了,那我如果我想禁用就比较麻烦了,也就是使控件对鼠标滚轮滚动不作响应。差了MSDN,其实微软早就设计好了一个类 HandledMouseEventArgs ,定义如下
Public Class HandledMouseEventArgs
Inherits System.Windows.Forms.MouseEventArgs
成员属于: System.Windows.Forms
摘要:
允许自定义控件防止将 System.Windows.Forms.Control.MouseWheel 事件发送到它的父容器。
这个类继承于MouseEventArgs,也就是我可以将鼠标事件响应的参数 e 赋予它,然后有这个类的对象来将事件句柄禁用。示例代码如下:
Private Sub Form1_MouseWheel( _
ByVal sender As Object, _
ByVal e As System.Windows.Forms.MouseEventArgs) _
Handles Me.MouseWheel
Dim wm As HandledMouseEventArgs = e
wm.Handled = True
End Sub
相关文章推荐
- 使控件子窗口的响应鼠标滚轮消息
- 如何让自定义的基于CStatic的控件响应鼠标移动的消息
- map控件中对鼠标滚轮事件的响应
- 如何让自定义的基于CStatic的控件响应鼠标移动的消息
- 使控件子窗口的响应鼠标滚轮消息
- C#禁用numericUpDown控件鼠标中键滚轮消息响应
- .net,C#如何在运行时通过鼠标拖动改变控件的大小
- HTML5是如何使用鼠标滚轮事件的
- 让TscrollBox响应鼠标滚轮的滚动事件
- Delphi中的DBGrid如何实现使用鼠标滚轮上下滚动
- mfc picture控件响应鼠标右键事件
- 如何禁用Visual Studio 2010中的鼠标滚轮缩放功能
- 一起谈.NET技术,如何解决“呈现控件时出错”的问题
- 没有焦点的控件如何响应ONEXIT事件?
- MFC小程序003------MFC使用WebBrowser组件,在对话框中创建滚动视图,动态创建一个静态文本控件并设置鼠标单击的消息响应
- jquery实现的带缩略图的焦点图片切换(自动播放/响应鼠标动作)
- 让VB应用程序的控件支持鼠标滚轮滚屏
- 如何获得 Qt窗口部件在主窗口中的位置--确定鼠标是否在某一控件上与在控件上的位置
- 技术转载(鼠标点击X窗口关闭IE的同时清空session,最基本的就是处理用户重复登陆需要用到,我想这个的关键在于如何捕捉到关闭IE这个动作,之后再根据自身的需要使用session.invalidate()或者session.removeAttribute( "xxx "))
- 如何在.NET中调试设计时(design-time)控件(下)