2013-07-25 49 views
0

我有一個TextBox程序,當我得到一個空間輸入時,我需要編輯文本。找到並設置指標在文本框中的位置

所以我這樣做了,但隨後指標返回到文本的開頭,這不是一個好的MMI。

我想知道是否有方法可以在不更改指示燈位置的情況下編輯文本,或者是否有辦法在TextBox中設置指示燈位置?

我試過用幾種方式編輯文本,但它們都導致指示符回到文本的開頭。

我找不到影響指標位置的方法,所以我猜這是不可能的,但我可能是錯的。

請大家幫忙。

回答

1

嘗試設置選擇。這將設置光標到第5位,但選擇什麼:

textBox1.Select(5, 0); 

只要確保這是控制權返回給用戶之前,發生這種情況的最後一件事。如有必要,可能伴隨着致電Focus

對於您的情況,您還需要跟蹤該位置應該是......在添加/修改文本之前?之後呢?只需用該號碼替換5即可。

2

試試這個。

int startPosition = textBox1.SelectionStart; 
int selectionLength = textBox1.SelectionLength; 

//do what ever you need 
textBox1.Text = textBox1.Text.ToUpper(); 

//place cursor back in position 
textBox1.Select(startPosition, selectionLength); 

希望它有幫助。

相關問題