触发鼠标的滚动事件后,处理事件的函数参数 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滚动条控制相关推荐

  1. extjs给panel添加滚动条_ExtJs Panel 滚动条设置

    设置autoscroll:true同时出现横向和纵向滚动条. 不要设置autoscroll属性,或者autoscroll:false,然后设置bodyStyle : 'overflow-x:hidde ...

  2. 【学习笔记】opencv的python接口 轮廓特征值 滚动条控制阈值参数

    滚动条控制阈值和阈值的处理方式 控制thres中的方式和阈值 import cv2img = cv2.imread("p7.jpg") #img = cv2.cvtColor(im ...

  3. C#中如何隐藏滚动条(ScrollBar)同时又具备自动滚动的功能

    C#中如何隐藏滚动条(ScrollBar)同时又具备自动滚动的功能 (2011-01-30 13:38:28) 转载▼ 标签: it   http://blog.sina.com.cn/s/blog_ ...

  4. WPF中对三维模型的控制

    原文:WPF中对三维模型的控制 (以下选自南开大学出版社出版的<WPF和Silverlight教程>) 3Dmax中的建模模型可以导出为obj文件格式,将此文件导入WPF项目中,由WPF完 ...

  5. 解决DataGridView在多线程中无法显示滚动条的问题

    解决DataGridView在多线程中无法显示滚动条的问题 参考文章: (1)解决DataGridView在多线程中无法显示滚动条的问题 (2)https://www.cnblogs.com/roph ...

  6. 设CPU中各部件及其相互连接关系如下图所示。图中W是写控制标志,R是读控制标志,R 1 和R 2 是暂存器

    设CPU中各部件及其相互连接关系如下图所示.图中W是写控制标志,R是读控制标志,R1和R2是暂存器. (1)假设要求在取指周期由ALU完成 (PC) + 1→PC的操作(即ALU可以对它的一个源操作数 ...

  7. Delphi中TFlowPanel实现滚动条效果

    由于TFlowPanel中没有设置滚动条的相关属性.所以我们只好另辟溪径.再加一个tscrollbox来实现. 具体操作如下: 1,先添加一个Tscrollbox,设置其align为alclient. ...

  8. 如何在博客等文章中添加带有滚动条的文本框

    在博客中添加带滚动条的文本框能大大提高文章的可读性. 1. 以csdn博客为例 我们在csdn发布博客的时候会在编辑区看到一个源代码的工具. 注:各类博客产品是不一样的,有的可能是个复选框 2. 我们 ...

  9. Selenium入门11 滚动条控制(通过js)

    这一节要有js基础.做web端的UI自动化必须要有html,css,javascript前端基础. 滚动条控制: 1 移动垂直滚动条 document.documentElement.scrollTo ...

最新文章

  1. 玩转python轻松过二级 百度网盘,玩转Python轻松过二级
  2. 新闻事件报道重要性判定项目
  3. Python笔记-Flask框架Get和Post参数相关
  4. Java知多少(50)Java throws子句
  5. 3.Event Delegate
  6. 【报告分享】2019年度薪酬白皮书.pdf(附下载链接)
  7. [Python] np.array() 创建ndarray类型的数组
  8. Nginx源码分析 - 基础数据结构篇 - 双向链表结构 ngx_queue.c(05)
  9. (转)Top Ten Web Hacking Techniques of 2011
  10. Des加密后传参被特殊字符(如+)截断
  11. 屏幕画笔工具Pointofix,期货/股票复盘分析画线好工具
  12. Halcon 排线检测|固定颜色检测
  13. 【vulhub系列】cve-2018-1273S pring Expression Language 漏洞复现
  14. 通过耳机口左右声道输出得到4路控制信号
  15. JAVA走上证券行业
  16. LDPY Ghost Win7 64位 纯净自选版 V5.0
  17. TELNET命令行操作IMAP收件箱
  18. 用Dynamips构建能够与真实机器通信的IPSec ***环境
  19. python二进制的位运算符
  20. Unity案例课程 - 涂鸦跳跳 Day 1

热门文章

  1. Ethercat 从站开发总结二:通讯地址
  2. 小马哥-----高仿三星i8552刷机 拆机主板与开机界面图 14年新高仿
  3. 读书笔记:《为什么大猩猩比专家高明, How We Decide》
  4. 英文科技文献专家审稿常见意见
  5. 静态库的创建和使用(Win10+VS2022
  6. linux设置gmt时间,linux时间修改为GMT时间或CST时间
  7. 深圳最高的山有多高?用双脚去寻找答案
  8. 12306订票抢票攻略:2013春节我要回家
  9. Android6.0的phone应用源码分析(3)——phone 拨号UI分析
  10. ADCIRC模型模拟沿海风暴潮、潮汐---实例讲解