【C#】添加鼠标管轮事件
来源:互联网 发布:mac 显示所有应用 编辑:程序博客网 时间:2024/06/07 03:13
对FlowLayoutPanel添加鼠标滚轮事件
在mainform中添加事件
his.flowLayoutPanel1.MouseWheel += new System.Windows.Forms.MouseEventHandler(this.flowLayoutPanel1_MouseWheel);
添加滚轮事件函数:
private void flowLayoutPanel1_MouseWheel(object sender, MouseEventArgs e){ if (!(flowLayoutPanel1.VerticalScroll.Visible == false || (flowLayoutPanel1.VerticalScroll.Value == 0 && e.Delta > 0) || (flowLayoutPanel1.VerticalScroll.Value == lastRightPanelVerticalScrollValue && e.Delta < 0))) { flowLayoutPanel1.VerticalScroll.Value += 10; lastRightPanelVerticalScrollValue = flowLayoutPanel1.VerticalScroll.Value; flowLayoutPanel1.Refresh(); flowLayoutPanel1.Invalidate(); flowLayoutPanel1.Update(); }}
除此之外还要说的一点是,触发鼠标的滚动事件后,处理事件的函数参数 MouseEventArgs e 中有个Delta属性,默认情况下向上滚动e.Delta=120,向下滚动e.Delta=-120。以上的程序还不是特别完美,因为当Panel控件较大而没有显示滚动条时,或滚动条已在最上方而滚轮又是向上滚动,或滚动条已在最下方而滚轮又是向下滚动时,同样会执行Panel.Refresh();Panel.Invalidate();Panel.Update();等窗体重绘代码,占用较多资源。因此可以在执行这些代码前先对Panel的当前状况做判断。
int lastRightPanelVerticalScrollValue = -1;//为鼠标滚动事件提供一个静态变量,用来存储上次滚动后的VerticalScroll.Value
添加FlowLayoutPanel的鼠标进入事件和鼠标点击事件
private void flowLayoutPanel1_MouseEnter(object sender, EventArgs e){ flowLayoutPanel1.Focus();}private void flowLayoutPanel1_MouseClick(object sender, MouseEventArgs e){ flowLayoutPanel1.Focus();}
0 0
- 【C#】添加鼠标管轮事件
- 鼠标事件的添加
- JS 添加鼠标事件
- OpenCV添加鼠标事件
- 添加鼠标事件侦听
- c++--模拟鼠标事件
- C#winform 鼠标事件
- 为GridView添加鼠标事件
- 为GridView添加鼠标事件
- 自定义添加的鼠标事件
- EXT textfield 添加鼠标事件
- easyui datagrid 添加 鼠标事件
- jquery 添加鼠标滑动事件
- CEdit添加鼠标事件处理
- 原生JS添加鼠标事件
- 鼠标添加单击双击事件
- 为QLabel添加鼠标事件
- C语言模拟鼠标事件
- 查找文件,删除文件,删除目录
- int和Integer
- 【C#】 开机启动/取消开机启动
- 在Windows Mobile中动态修改菜单
- 【C#】数据库备份及还原的实现代码【转载】
- 【C#】添加鼠标管轮事件
- sql server中字符串类型的日期如何比较大小
- 【Winform】DataTable绑定到ComboBox
- 【Sqlserver】修改数据库表中的数据:对缺失的数据根据已有的数据进行修补
- 【Winform】 Enum逆向解析
- 【Winform】无法嵌入互操作类型
- Java 数组操作的10大方法
- PDT设备的协议依据
- 【Winform】 无法将类型为“System.Windows.Forms.SplitContainer”的对象强制转换为类型“System.ComponentModel.ISupportInitialize”。