2011-05-25 73 views
0

如何更新TextBox控件的文本?textbox在vb.net或c中插入和刪除函數#

考慮到已經包含字符串 「WEL」

要在TextBox插入文本TextBox,我使用:

TextBox1.Text = TextBox1.Text.Insert(3, "come") 

,並從TextBox刪除字符:

TextBox1.Text = TextBox1.Text.Remove(3, 4) 

但我需要能夠做到這一點:

TextBox1.Text.Insert(3, "come"); 
    TextBox1.Text.Remove(3, 4); 

但是,此代碼不會更新TextBox

這可能嗎?

這可以通過append方法來完成嗎?

+0

請詳細說明您的問題。 – 2011-05-25 18:55:57

+0

單擊鏈接以獲取詳細信息http://stackoverflow.com/questions/6115199/textbox-keypress-event-using-vb-net-or-c – Balachandran 2011-05-25 19:12:00

回答

0

Text TextBox的屬性是字符串類型,它是不可變的,不可能改變現有的字符串。 Insert()Remove()返回帶有修改的字符串的新實例,您將不得不將該新實例分配回TextBox的Text屬性。

TextBox.AppendText(),你可能會感興趣。它附加文本到字符串的末尾,但你不能做任何事情,如Insert()Remove()與它雖然。

編輯:

你的按鍵,你可以做這樣的事情

 char charToReplace = (char) (e.KeyChar + 1); // substitute replacement char 
     textBox1.SelectedText = new string(charToReplace,1); 
     e.Handled = true; 
+0

使用AppendText從文本框中刪除字符? – Balachandran 2011-05-25 18:58:43

+0

@Balachandran nope。你不能使用'AppendText()'去除字符。 – 2011-05-25 18:59:28

+0

那我該怎麼辦?我的問題是,當光標移動到第0個位置時,將文本分配給文本框。之後,我將selectionstart屬性設置爲文本結尾。但我在按鍵事件中編寫代碼。所以每按一下光標都會滾動。 – Balachandran 2011-05-25 19:01:59

0

'string'是不可變的類型,所以每次字符串值更改新的內存分配。因此,如果您想要插入或刪除TextBox中的文字,則必須將其分配回TextBox.Text屬性。但是,如果您只是想將文本追加到TextBox.Text,您可以做

textBox.AppendText("Hello"); 
+0

我的問題是,當光標移動到第0個位置時,將文本分配給文本框。之後,我將selectionstart屬性設置爲文本結尾。但我在按鍵事件中編寫代碼。所以每按一下光標都會滾動。 – Balachandran 2011-05-25 19:03:44

+0

無法解決您的問題。 – 2011-05-25 19:05:19