C#中的Panel滚动条控制
触发鼠标的滚动事件后,处理事件的函数参数 MouseEventArgs e 中有个Delta属性,默认情况下向上滚动e.Delta=120,向下滚动e.Delta=-120。
以上的程序还不是特别完美,因为当Panel控件较大而没有显示滚动条时,或滚动条已在最上方而滚轮又是向上滚动,或滚动条已在最下方而滚轮又是向下滚动时,同样会执行Panel.Refresh();Panel.Invalidate();Panel.Update();等窗体重绘代码,占用较多资源。因此可以在执行这些代码前先对Panel的当前状况做判断。完整的程序代码如下:
public partial class PlotInfoForm : Form
{int lastRightPanelVerticalScrollValue = -1;//为鼠标滚动事件提供一个静态变量,用来存储上次滚动后的VerticalScroll.Valuepublic PlotInfoForm(){InitializeComponent();this.rightPanel.MouseWheel += new System.Windows.Forms.MouseEventHandler(this.rightPanel_MouseWheel);}//当鼠标在右侧面板上单击时,激活其滚动事件private void rightPanel_MouseClick(object sender, MouseEventArgs e){this.rightPanel.Focus();}private void rightPanel_MouseWheel(object sender, MouseEventArgs e){if (!(rightPanel.VerticalScroll.Visible == false || (rightPanel.VerticalScroll.Value == 0 && e.Delta > 0) || (rightPanel.VerticalScroll.Value == lastRightPanelVerticalScrollValue && e.Delta < 0))){rightPanel.VerticalScroll.Value += 10;lastRightPanelVerticalScrollValue = rightPanel.VerticalScroll.Value;rightPanel.Refresh();rightPanel.Invalidate();rightPanel.Update();}}
}
C#中的Panel滚动条控制相关推荐
- extjs给panel添加滚动条_ExtJs Panel 滚动条设置
设置autoscroll:true同时出现横向和纵向滚动条. 不要设置autoscroll属性,或者autoscroll:false,然后设置bodyStyle : 'overflow-x:hidde ...
- 【学习笔记】opencv的python接口 轮廓特征值 滚动条控制阈值参数
滚动条控制阈值和阈值的处理方式 控制thres中的方式和阈值 import cv2img = cv2.imread("p7.jpg") #img = cv2.cvtColor(im ...
- C#中如何隐藏滚动条(ScrollBar)同时又具备自动滚动的功能
C#中如何隐藏滚动条(ScrollBar)同时又具备自动滚动的功能 (2011-01-30 13:38:28) 转载▼ 标签: it http://blog.sina.com.cn/s/blog_ ...
- WPF中对三维模型的控制
原文:WPF中对三维模型的控制 (以下选自南开大学出版社出版的<WPF和Silverlight教程>) 3Dmax中的建模模型可以导出为obj文件格式,将此文件导入WPF项目中,由WPF完 ...
- 解决DataGridView在多线程中无法显示滚动条的问题
解决DataGridView在多线程中无法显示滚动条的问题 参考文章: (1)解决DataGridView在多线程中无法显示滚动条的问题 (2)https://www.cnblogs.com/roph ...
- 设CPU中各部件及其相互连接关系如下图所示。图中W是写控制标志,R是读控制标志,R 1 和R 2 是暂存器
设CPU中各部件及其相互连接关系如下图所示.图中W是写控制标志,R是读控制标志,R1和R2是暂存器. (1)假设要求在取指周期由ALU完成 (PC) + 1→PC的操作(即ALU可以对它的一个源操作数 ...
- Delphi中TFlowPanel实现滚动条效果
由于TFlowPanel中没有设置滚动条的相关属性.所以我们只好另辟溪径.再加一个tscrollbox来实现. 具体操作如下: 1,先添加一个Tscrollbox,设置其align为alclient. ...
- 如何在博客等文章中添加带有滚动条的文本框
在博客中添加带滚动条的文本框能大大提高文章的可读性. 1. 以csdn博客为例 我们在csdn发布博客的时候会在编辑区看到一个源代码的工具. 注:各类博客产品是不一样的,有的可能是个复选框 2. 我们 ...
- Selenium入门11 滚动条控制(通过js)
这一节要有js基础.做web端的UI自动化必须要有html,css,javascript前端基础. 滚动条控制: 1 移动垂直滚动条 document.documentElement.scrollTo ...
最新文章
- 玩转python轻松过二级 百度网盘,玩转Python轻松过二级
- 新闻事件报道重要性判定项目
- Python笔记-Flask框架Get和Post参数相关
- Java知多少(50)Java throws子句
- 3.Event Delegate
- 【报告分享】2019年度薪酬白皮书.pdf(附下载链接)
- [Python] np.array() 创建ndarray类型的数组
- Nginx源码分析 - 基础数据结构篇 - 双向链表结构 ngx_queue.c(05)
- (转)Top Ten Web Hacking Techniques of 2011
- Des加密后传参被特殊字符(如+)截断
- 屏幕画笔工具Pointofix,期货/股票复盘分析画线好工具
- Halcon 排线检测|固定颜色检测
- 【vulhub系列】cve-2018-1273S pring Expression Language 漏洞复现
- 通过耳机口左右声道输出得到4路控制信号
- JAVA走上证券行业
- LDPY Ghost Win7 64位 纯净自选版 V5.0
- TELNET命令行操作IMAP收件箱
- 用Dynamips构建能够与真实机器通信的IPSec ***环境
- python二进制的位运算符
- Unity案例课程 - 涂鸦跳跳 Day 1