2009-03-05 56 views
1

我希望textItem中的文本在觸發currentItemChanged時設置爲大寫。換句話說,只要框中的文本發生變化,我想使內容大寫。這裏是我的代碼:在CurrentItemChanged上設置文本框的內容爲大寫

private void rootBindingSource_CurrentItemChanged(object sender, System.EventArgs e) 
{ 
    toUserTextBox.Text.ToUpper(); 
    readWriteAuthorization1.ResetControlAuthorization(); 
} 

事件觸發肯定,我已經測試了一個messageBox。所以我知道我在這裏做了一些錯誤......問題是什麼。

回答

5

字符串是不可變的。 ToUpper()返回一個新的字符串。試試這個:

private void rootBindingSource_CurrentItemChanged(object sender, System.EventArgs e) 
{ 
    toUserTextBox.Text = toUserTextBox.Text.ToUpper(); 
    readWriteAuthorization1.ResetControlAuthorization(); 
} 
+0

賓果。你不能只在一個字符串上調用一個函數而不用重新分配它。 – TheTXI 2009-03-05 15:00:23

+0

大聲笑...我會責怪它的疲勞:P – Sakkle 2009-03-05 15:01:11

3

我想你的問題是爲什麼你的代碼不工作。

您不會再將「Uppered」文本分配給文本框。

應該是:

private void rootBindingSource_CurrentItemChanged(object sender, System.EventArgs e) 
{ 
    toUserTextBox.Text = toUserTextBox.Text.ToUpper(); 
    readWriteAuthorization1.ResetControlAuthorization(); 
} 
24

如果你需要做的就是迫使輸入大寫,嘗試文本框的CharacterCasing財產。

toUserTextBox.CharacterCasing = CharacterCasing.Upper;