2012-11-02 29 views
0

每次用戶更改文本框中的文本時,我都試圖讓我的跟蹤欄移動(更改值)。我在這裏找到了一個類似的話題,但下面的代碼不會做出改變:如何通過文本框控制跟蹤欄(C#)

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

哪裏RedTexBox是我的文本框,RedBar是跟蹤條

+1

TrackBar的其他相關屬性的值是什麼,比如'Minimum'和'Maximum'? –

+0

min - 1,max - 100 – Senti

+0

如果將代碼更改爲使用內部int,並且每次傳遞時都增加int,並將該值設置爲int,那麼TrackBar會響應嗎?換句話說,我想擺脫'TextBox'一分鐘,並從等式中消除它。 –

回答

0

你輸入文字可以被解析成號碼?因爲這是你的代碼假設。

如果你只是想價值(而不管文本輸入是什麼)改變,我會做一些事情,如:

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

OK我知道了:) 它只是需要的是!

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

我不知道是什麼diffrence使得 「_1」,但它現在 THX工程的幫助!

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。 但正如我之前提到的。使用相同名稱重建窗體上的控件是錯誤的根本原因。