0

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

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

RedTexBox我的文本框在哪里,RedBar是一个 trackBar

4

3 回答 3

0

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

如果您只想更改值(无论文本输入是什么),我会执行以下操作:

private void RedTextBox_TextChanged(object sender, EventArgs e)
{  
     RedBar.Value += 1; 
     if (RedBar.Value == RedBar.Maximum){ RedBar.Value = RedBar.Minimum; }
} 
于 2012-11-02T12:25:18.480 回答
0

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

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

我不知道“_1”的区别是什么,但它现在可以工作了谢谢帮助!

于 2012-11-02T13:31:50.910 回答
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。但正如我之前提到的。在使用相同名称的同时重建表单上的控件是您导致错误的根本原因。

于 2016-02-15T15:39:28.910 回答