在 Windows 窗体中链接轨迹栏和文本字段非常容易。 是这样的: textBox.DataBindings.Add("文本", trackBar, "值");
问题是,轨迹栏只允许整数值,但我想要浮点值。 所以我通常只是将该值除以 100,因为在轨迹栏上用户无法直接看到该值。 但在文本框中它是。
那么是否有可能将这两者以 100 的倍数联系起来?
谢谢!
您的代码行将一个
Binding
对象添加到文本框的 DataBindings
集合中。
Binding
类具有名为 Format
和 Parse
的事件,您可以使用它们来执行除法(Format
事件从轨迹栏获取值并将其设置为文本框的格式)和乘法( Parse
事件从文本框中获取值并针对轨迹栏进行缩放)。
您可以使用如下中间变量:
public double v{set;get;}
public int v100
{
set { v = value / 100D; }
get { return (int)(v* 100D); }
}
并将它们与控件绑定。
trackBar.DataBindings.Add(new Binding("Value", PtParams, "v100"));
textBox.DataBindings.Add(new Binding("Text", PtParams, "v"));