C# /windows 表单:使用因子链接轨迹栏和文本字段

问题描述 投票:0回答:2

在 Windows 窗体中链接轨迹栏和文本字段非常容易。 是这样的: textBox.DataBindings.Add("文本", trackBar, "值");

问题是,轨迹栏只允许整数值,但我想要浮点值。 所以我通常只是将该值除以 100,因为在轨迹栏上用户无法直接看到该值。 但在文本框中它是。

那么是否有可能将这两者以 100 的倍数联系起来?

谢谢!

c# winforms textbox trackbar
2个回答
4
投票

您的代码行将一个

Binding
对象添加到文本框的
DataBindings
集合中。

Binding
类具有名为
Format
Parse
的事件,您可以使用它们来执行除法(
Format
事件从轨迹栏获取值并将其设置为文本框的格式)和乘法(
Parse
事件从文本框中获取值并针对轨迹栏进行缩放)。


1
投票

您可以使用如下中间变量:

    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"));
© www.soinside.com 2019 - 2024. All rights reserved.