Dev TrackBar的使用--坐标轴反转以及滚轮反向解决

简介: Dev TrackBar的使用--坐标轴反转以及滚轮反向解决

最近,在用GDI+绘图的过程中,做了一个用滚动条控制刷新所绘区域的功能,因为滚动条改变,只重绘固定的区域,只显示该区域内的数据,所以选择了dev 的Track bar,其实,多数问题可能都是不了解属性所致,如下,直接给出关键的属性图,

1694152094464.png

从上图可以看出,通过属性,可以控制trackbar的轴方向以及轴上值得排列方向,而且可以通过自定义刻度,间距等,来绘制自己所需得样式。

另外,trackbar默认支持滚轮,但是,其滚轮得滚动方向和实际所需效果是相反的(即,往上滚动是,竖轴值向下移动,反之,向上移动),这于操作习惯不符,分析原因,我觉得可能是反转了坐标轴导致的,默认的横轴下的滚轮操作,左侧为小值,向上滚动时,值向右侧移动,当为竖轴时,小值在底部,向上滚动,值向上移动,值增大,当坐标轴反转后,顶部为小值,向上滚动时,值增大,于排列相反,如此,便导致这种现象。

解决办法时:

设置属性AllowMouseWheel为false,再添加trackbar的mousewheel事件来自定义滚动事件,如下:

private void trackBarControl1_Properties_MouseWheel(object sender, MouseEventArgs e)
        {
            if (e.Delta<0)
            {//往下滚动
                //MessageBox.Show("1");
                this.trackBarControl1.Value += 1;
                trackBarControl1.Refresh();
                trackBarControl1.Invalidate();
                trackBarControl1.Update();
            }
            else
            {//往上滚动
                //MessageBox.Show("2");
                trackBarControl1.Value -= 1;
            }
        }

如此,便可实现与其他滚动条相似的功能。


测试发现,刻度排列不可逆,暂时无其他方法可以解决这个问题,若有的话,还请大神告知,谢谢。

相关文章
|
10月前
G2Plot Line 线性 x 轴头尾两头不留空白(或指定留白范围)
G2Plot Line 线性 x 轴头尾两头不留空白(或指定留白范围)
62 0
|
9月前
Range滑动条颜色分区问题
Range滑动条颜色分区问题
60 1
|
9月前
Dev treelist设置文本显示位置
Dev treelist设置文本显示位置
LeetCode-2038 如果相邻两个颜色均相同则删除当前颜色
LeetCode-2038 如果相邻两个颜色均相同则删除当前颜色
|
10月前
|
移动开发 前端开发
H5页面,使用cursor: pointer;出现的问题:点击元素时,相邻元素或者自身背景色闪烁.
H5页面,使用cursor: pointer;出现的问题:点击元素时,相邻元素或者自身背景色闪烁.
|
11月前
用键盘读入一个字符,然后在屏幕上显示一个用这个字符填充的对角线长5个字符,倾斜放置的菱形
用键盘读入一个字符,然后在屏幕上显示一个用这个字符填充的对角线长5个字符,倾斜放置的菱形
|
11月前
ENVI_IDL:如何对影像进行各种方式的上下左右的颠倒或者翻转.
ENVI_IDL:如何对影像进行各种方式的上下左右的颠倒或者翻转.
210 0
如何反转ggplot2中的图例键顺序
如何反转ggplot2中的图例键顺序
69 0
|
前端开发
鼠标经过时反转遮罩层
当鼠标移入指定的元素时,图片会旋转到遮罩层,然后显示相关介绍内容。
89 0
鼠标经过时反转遮罩层
|
定位技术 图形学
“复制100个物体的坐标的值(xyz)和旋转的值(xyz)你需要几次操作?----600次”,“我只需要2次”
在开发中,会遇到要复制场景中对象的位置坐标的操作,通常的方法是分别复制物体的xyz的值,然后再粘贴,这样效率非常低,耽误时间,也可以复制错误,造成位置的偏移。 接下来就介绍如何快速复制坐标位置,并且复制

热门文章

最新文章