xtraScrollableControl 滚动条随鼠标滚动
代码如下
// using System;
using System.Windows.Forms;
using DevExpress.XtraEditors; namespace WindowsFormsApplication1 {
public class ScrollHelper { readonly XtraScrollableControl _scrollableControl; public ScrollHelper(XtraScrollableControl scrollableControl) { _scrollableControl = scrollableControl; } public void EnableScrollOnMouseWheel() { _scrollableControl.VisibleChanged += OnVisibleChanged; } void OnVisibleChanged(object sender, EventArgs e) {
_scrollableControl.Select();
UnsubscribeFromMouseWheel(_scrollableControl.Controls);
SubscribeToMouseWheel(_scrollableControl.Controls);
} public void SubscribeToMouseWheel(Control.ControlCollection controls) {
foreach (Control ctrl in controls) {
ctrl.MouseWheel += OnMouseWheel;
SubscribeToMouseWheel(ctrl.Controls);
}
} public void UnsubscribeFromMouseWheel(Control.ControlCollection controls)
{
foreach (Control ctrl in controls) {
ctrl.MouseWheel -= OnMouseWheel;
UnsubscribeFromMouseWheel(ctrl.Controls);
}
} void OnMouseWheel(object sender, MouseEventArgs e) {
DevExpress.Utils.DXMouseEventArgs.GetMouseArgs(e).Handled = true;
var scrollValue = _scrollableControl.VerticalScroll.Value;
var largeChange = _scrollableControl.VerticalScroll.LargeChange;
if (e.Delta < )
_scrollableControl.VerticalScroll.Value += _scrollableControl.VerticalScroll.LargeChange;
else
if (scrollValue < largeChange) { _scrollableControl.VerticalScroll.Value = ; }
else { _scrollableControl.VerticalScroll.Value -= largeChange; }
} public void DisableScrollOnMouseWheel() {
_scrollableControl.VisibleChanged -= OnVisibleChanged;
UnsubscribeFromMouseWheel(_scrollableControl.Controls);
} }
}
运行代码
private ScrollHelper _scrollHelper;
public 构造函数()
{
InitializeComponent();
_scrollHelper = new ScrollHelper(xtraScrollableControl1);
_scrollHelper.EnableScrollOnMouseWheel();
}
不过如果控件没有获得焦点 不起作用
xtraScrollableControl 滚动条随鼠标滚动的更多相关文章
- BEX5下实现鼠标滚动滚动条
使用前提: 页面内容过多,默认的滚动条太难看,在不引入滚动条插件情况下让界面不使用滚动条,又能通过鼠标滚动 实现步骤: 1 在会出现滚动条的组件上设置隐藏滚动条 overflow:hidden; 2 ...
- 纯css解决div隐藏浏览器原生滚动条,但保留鼠标滚动效果的问题
当我们的内容超出了我们的div,往往会出现滚动条,影响美观.尤其是当我们在做一些导航菜单的时候.滚动条一出现就破坏了UI效果. 我们不希望出现滚动条,也不希望超出去的内容被放逐,就要保留鼠标滚动的效 ...
- 纯css,div隐藏滚动条,保留鼠标滚动效果。
示例1: html,body { height: 100%; } body { overflow: hidden; } .full-screen { position: relative; width ...
- js 鼠标滚动到某屏时,加载那一屏的数据,仿京东首页楼层异步加载模式
js用处:在做商城时,首页图片太多,严重影响首页打开速度,所以我们需要用到异步加载楼层.js名称:鼠标滚动到某屏时,加载那一屏的数据,仿京东首页楼层模式js解释:1.用于商城的楼层内容异步加载,滚动条 ...
- JavaScript一个鼠标滚动事件的实例
<script type="text/javascript" src="./whenReady.js"></script> <!- ...
- VS编程,WPF中两个滚动条 ScrollViewer 同步滚动的一种方法
原文:VS编程,WPF中两个滚动条 ScrollViewer 同步滚动的一种方法 版权声明:我不生产代码,我只是代码的搬运工. https://blog.csdn.net/qq_43307934/ar ...
- delphi 如何让ScrollBox的内容与滚动条一起实时滚动
delphi 如何让ScrollBox的内容与滚动条一起实时滚动 拖动滚动条后只有释放鼠标键,ScrollBox的内容才会滚动到实际位置,不爽.请问高人,怎样才能使拖动ScrollBox的滚动条的同时 ...
- 原生js和jquey获取窗口宽高,滚动条,鼠标位置总结
JQuery获取浏览器窗口的可视区域高度和宽度,滚动条高度 alert($(window).height()); //浏览器时下窗口可视区域高度 alert($(document).height( ...
- js进阶 12-6 监听鼠标滚动事件和窗口改变事件怎么写
js进阶 12-6 监听鼠标滚动事件和窗口改变事件怎么写 一.总结 一句话总结:滚动事件scroll(),浏览器窗口调整监听resize(),思考好监听对象. 1.滚动事件scroll()的监听对象是 ...
随机推荐
- Ruby on Rails Tutorial 第四章 Rails背后的Ruby 之 类
Ruby和其他面向对象的语言一样,使用类来组织方法,然后实例化类,创建对象.1.构造方法使用双引号是字符串的字面构造方法,也可以使用“具名构造方法”,即在类名上调用new方法 >> s=& ...
- 如何在Android应用程序中使用传感器(OpenIntents开源组织SensorSimulator项目)
原文地址http://blog.sina.com.cn/s/blog_621c16b101013ygl.html OpenIntents项目和可用资源介绍 [1]. 项目介绍:OpenInten ...
- linux下使用find xargs grep查找文件及文件内容
1,在某个路径下查文件. 在/etc下查找“*.log”的文件 find /etc -name “*.log” 2,扩展,列出某个路径下所有文件,包括子目录. find /etc -name “*” ...
- Android广播接收者应用(电话拦截器)
一.电话拦截器应用说明 在我们输入完电话号码并拨打电话时,系统会发出一个有序广播(action="android.intent.action.NEW_OUTGOING_CALL") ...
- poj3080解题报告(暴力、最大公共子串)
POJ 3080,题目链接http://poj.org/problem?id=3080 题意: 就是求m个长度为60的字符串的最长连续公共子串,2<=m<=10 规定: 1.最长公共串长度 ...
- linux-软连接
ln -s /opt/lampp/bin/mysql(绝对路径) /usr/local/bin(软连接目录或者文件) 如果不愿意配置环境变脸可以直接创建env查出的路径下建连接
- centos7重置root开机登录密码
今天忘记了centos7 root登录的密码,本来要好好的做个图文的教程也好啊,但是忘记截图什么的,就不在重复的工作了, 参考了下面的两个链接重置了密码,结合使用效果更好哦,嘿嘿.. 下次要是再遇到这 ...
- Codeforces Round #191 (Div. 2)
在div 188中,幸运的达成了这学期的一个目标:CF1800+,所以这次可以打星去做div2,有点爽. A.Flipping Game 直接枚举 B. Hungry Sequence 由于素数的分布 ...
- CSS3—三角形
话不多说看效果:演示效果,runjs 1.加了宽高和border,边用不同颜色显示,每条边都是一个梯形 2.去掉宽高,每条边都是三角形 3.只显示其中一条边就是不同的三角形了,是不是很简单,改变bor ...
- 【转载】LinkedIn是如何优化Kafka的
http://www.wtoutiao.com/p/18d5RY0.html 在LinkedIn的数据基础设施中,Kafka是核心支柱之一.来自LinkedIn的工程师曾经就Kafka写过一系列的专题 ...