如何通过文本框控制轨迹栏(C#)

时间:2012-11-02 12:00:20

标签: c# textbox trackbar

每次用户更改文本框中的文本时,我都会尝试让我的轨迹栏移动(更改值)。我在这里找到了类似的主题,但下面的代码没有做出改变:

private void RedTextBox_TextChanged(object sender, EventArgs e)
{  
    RedBar.Value = int.Parse(RedTextBox.Text);
}  

RedTexBox是我的文本框,RedBar是trackBar

3 个答案:

答案 0 :(得分:0)

您是否输入了可以解析为数字的文字?因为这是您的代码所假设的。

如果您只想改变值(无论文本输入是什么),我都会这样做:

private void RedTextBox_TextChanged(object sender, EventArgs e)
{  
     RedBar.Value += 1; 
     if (RedBar.Value == RedBar.Maximum){ RedBar.Value = RedBar.Minimum; }
} 

答案 1 :(得分:0)

好的,我明白了!:) 它只需要:

(...)private void RedTextBox_TextChanged_1(object sender, EventArgs e)(...)

我不知道“_1”会产生什么差异,但它现在有效 求救!

答案 2 :(得分:0)

“_ 1”表示您已使用表单上的新控件重建该方法,并使用了相同的名称。如果您尝试将float类型带到int我使用了两次转换来进行更改并获得了良好的效果。

    private void oGTextBox_TextChanged(object sender, EventArgs e)
{
    var oGValue = double.Parse(oGTextBox.Text) * 1000;
    trackBar1.Value = int.Parse(oGValue.ToString());
}

这用于比重并显示小数位...... 1.050。  但正如我之前提到的那样。使用相同名称重建表单上的控件是导致错误的根本原因。