我在这里尝试做的是放下像Windows XP上的轨道栏来改变分辨率:(http://puu.sh/7Li5h.png)
我想设置特定的间隔/增量值,如上图所示。目前实际条形下面的线条在那里,但我仍然可以随意移动指针。这是我目前的代码:
trackBarIP.Minimum = 0;
trackBarIP.TickFrequency = 1000;
trackBarIP.SmallChange = 50;
trackBarIP.LargeChange = 100;
trackBarIP.Maximum = 6300;
我有这段代码在旁边的文本框中显示Trackbar的当前值:
private void trackBarIP_ValueChanged(object sender, EventArgs e)
{
textBoxIP.Text = trackBarIP.Value.ToString();
}
答案 0 :(得分:2)
我知道这是一个非常古老的帖子,但下面是我的解决方案:
它使用Visual Studio 2013中的C#轨迹栏和" Scroll"事件
zoomTrackBar.Minimum = 25;
zoomTrackBar.Maximum = 400;
zoomTrackBar.Value = 100;
zoomTrackBar.TickFrequency = 25;
}
#endregion
private void zoomTrackBar_Scroll(object sender, EventArgs e)
{
int value = (sender as TrackBar).Value;
double indexDbl = (value * 1.0) / zoomTrackBar.TickFrequency;
int index = Convert.ToInt32(Math.Round(indexDbl));
zoomTrackBar.Value = zoomTrackBar.TickFrequency * index;
label2.Text = zoomTrackBar.Value.ToString();
}
所有这一切都取当前选择的值并将其除以频率,哈希标记(在我的情况下为25)。然后我将这个数字向上舍入,这是我的#34;哈希索引。"从这里我可以通过乘以"索引"轻松计算出正确的哈希值。以我的频率。最后一步是将轨迹栏设置为等于新值。