c#中怎么显示TrackBar控件的滑块滑动的距离?谢谢

如题所述

你想要的是不是TrackBar滑块当前所指的值?
TrackBar.Value是这个值
如果按你的题目想,感觉没有什么意义.不过你要是真需要,那可以这么做.
int lastnum = TrackBar.Value;
form_load里添加
TrackBar.ValueChanged += TrackBar_ValueChanged(object Sender,EventArgs e);

protect void TrackBar.ValueChanged += TrackBar_ValueChanged(object Sender,EventArgs e)
{
int len = TrackBar.Width * (Math.Abs(lastnum - TrackBar.Value) / (TrackBar.Maximum * 1.0) );
}

len就是滑坏移动的距离.不过可能不太准确,因为TrackBar可移动的距离小于TrackBar.Width.
如果真想获取精确距离,建议自己写个类似TrackBar的控件.
上边的代码直接在文本框敲的,,家里没有vs.
建议还是用TrackBar.Value属性就行了.追问

谢谢您,其实我是想在TrackBar控件的滑块下面显示滑动的相对距离,用来表示滑动的大小。就是那种滑到哪就在哪的下方显示这个值。有一种想法:用一个label,每次滑动滑块时重新设置label的位置和text。我的技术还很初级,临时接到这个任务不知道该怎么做,您看这样能行吗?我该怎么做呢?谢谢您

追答

找了下msdn里边没有类似tip的属性
不过控件内部肯定封装了滑块的location,不过可能是private.
刚在csdn找到一个自定义TrackBar,看了下cs代码,,里边有绘制滑块的部分,,
///画游码
lUpPoint = new Point(clientHeight / 8 + barValue, clientHeight / 6);
DrawTracker(g, BarValue);
你只要根据他的坐标
Graphics.DrawString()就可以了

追问

谢谢您

追答

不客气,有问题尽量先按F1.如果解决不了看MSDN和CSDN.

温馨提示:内容为网友见解,仅供参考
第1个回答  2011-03-09
调回原来的值就行了,比如原来的值是15,它要滑到16,一但滑到16,你就立即把它调成15
相似回答