C#中如何获取hScrollBar控件上的Cursor光标位置
水平滚动条位置获取解决方案
核心属性说明
绝大多数UI框架的水平滚动条(hScrollBar)都通过Value属性暴露当前滑块的实际位置,你直接读取该属性赋值给label控件即可。如果存在自定义封装的滚动条组件,优先查找组件文档中代表当前滚动偏移量的属性即可。
不同框架的实现示例
- WinForm/WPF 框架
监听hScrollBar的ValueChanged事件,触发时读取hScrollBar.Value赋值给label的Text属性即可,示例代码:private void hScrollBar1_ValueChanged(object sender, EventArgs e) { label1.Text = hScrollBar1.Value.ToString(); } - 微信小程序自定义滚动条
绑定滚动条的scroll事件,从事件参数detail.scrollLeft中拿到水平滚动位置,赋值给绑定到label的变量即可,示例代码:
对应wxml中直接绑定变量即可:onScroll: function(e) { this.setData({ scrollPosition: e.detail.scrollLeft }) }<label>{{scrollPosition}}</label> - Qt 框架
关联QScrollBar的valueChanged信号,读取value()方法的返回值赋值给QLabel即可,示例代码:connect(hScrollBar, &QScrollBar::valueChanged, this, [=](int value){ label->setText(QString::number(value)); });
如果你需要获取的是鼠标指针在滚动条上的坐标位置而非滑块位置,需要监听滚动条的鼠标事件,从事件参数中读取
X坐标值即可
内容的提问来源于stack exchange,提问作者Lars Kager
相关产品推荐
相关产品推荐

