鼠标滚轮控制panel滚动条
来源:互联网 发布:sql select返回结果 编辑:程序博客网 时间:2024/04/26 03:49
在winform开发中,通过设置Panel的AutoScroll属性来控制滚动条是否显示,但显示滚动条的时候,鼠标的滚轮是无法控制Panel里面的滚动条的,只能控制Form的滚动条,当我们需要控制Panel的滚动条的时候,应该怎么做呢?
1、拖一个Panel到Form里面,修改Name为panel_content,并设置AutoScroll为True
2、在Form的Load事件中添加下面的代码
this.MouseWheel += FormSample_MouseWheel;
3、在Form类中添加FormSample_MouseWheel方法
View Code
1 /// <summary>
2 /// 滚动方法
3 /// </summary>
4 /// <param name="sender"></param>
5 /// <param name="e"></param>
6 void FormSample_MouseWheel(object sender, MouseEventArgs e)
7 {
8 //获取光标位置
9 Point mousePoint = new Point(e.X, e.Y);
10 //换算成相对本窗体的位置
11 mousePoint.Offset(this.Location.X, this.Location.Y);
12 //判断是否在panel内
13 if (panel_content.RectangleToScreen(panel_content.DisplayRectangle).Contains(mousePoint))
14 {
15 //滚动
16 panel_content.AutoScrollPosition = new Point(0, panel_content.VerticalScroll.Value - e.Delta);
17 }
18 }
2 /// 滚动方法
3 /// </summary>
4 /// <param name="sender"></param>
5 /// <param name="e"></param>
6 void FormSample_MouseWheel(object sender, MouseEventArgs e)
7 {
8 //获取光标位置
9 Point mousePoint = new Point(e.X, e.Y);
10 //换算成相对本窗体的位置
11 mousePoint.Offset(this.Location.X, this.Location.Y);
12 //判断是否在panel内
13 if (panel_content.RectangleToScreen(panel_content.DisplayRectangle).Contains(mousePoint))
14 {
15 //滚动
16 panel_content.AutoScrollPosition = new Point(0, panel_content.VerticalScroll.Value - e.Delta);
17 }
18 }
通过以上步骤即可用鼠标滚轮控制Panel里面的滚动条了
0 0
- 鼠标滚轮控制panel滚动条
- 鼠标滚轮控制panel滚动条
- 鼠标滚轮控制panel滚动条
- C# panel控件实现鼠标滚轮滚动拖动滚动条
- WPF 使用鼠标滚轮控制ListBox水平滚动条滚动
- delphi 用鼠标滚轮控制Form的垂直滚动条
- 解决Winform中鼠标滚轮无法操作Panel滚动条的问题
- C#鼠标滚轮处理滚动条滚动
- javascript滚轮控制模拟滚动条
- C#中的Panel滚动条控制
- silverlight给ScrollViewer滚动条添加响应鼠标滚轮
- 重写鼠标滚轮事件阻止滚动条冒泡
- JS自定义滚动条效果+鼠标滚轮事件
- 杂记(隐藏滚动条及鼠标滚轮事件)
- 鼠标滚轮滚动事件
- 用鼠标滚轮控制窗口上下滚动(原创)
- 鼠标滚轮滚动控制页面显示和页面动画
- WinForm中Panel实现用鼠标操作滚动条
- IO流-----File类与Properties集合
- fatal error LNK1112: module machine type 'X86' conflicts with target machine type 'x64'
- 好的用户界面-界面设计的一些技巧
- Service启动Activity并将该Activity设置为dialog
- openjudge树的转换
- 鼠标滚轮控制panel滚动条
- ORA-00959 表空间不存在
- 二分查找、折半查找
- UIButton 双击事件响应
- Unicode、UTF-8 和 ISO8859-1到底有什么区别及编码处理
- JAVA中堆和栈的区别
- 开源移动应用平台OpenMEAP介绍
- 后台利用JS刷新页面(网站)
- C - I Love This Game