2009-07-26 84 views
0

我正在使用System.Windows.Forms.TextBox。可以通過使用鍵盤來選擇文本,使插入符號位於選區的開始 - 按住Shift並將插入符號向左移。如何選擇文本框中的插入符號位於選擇開始位置的文本?

我想通過編程來做同樣的事情。

例如,假設我有一個帶有文本「Some sample text」的文本框。我希望選擇「樣本」這個詞,並且在「樣本」的「s」之前放置插入符號。

如果我這樣做:

textbox.SelectionStart = 5; 
textbox.SelectionLength = 6; 

然後我得到選擇的詞,但只是「e」的「樣本」,在之後的插入符號。

如果我這樣做:

textbox.SelectionStart = 11; 
textbox.SelectionLength = -6; 

我得到一個異常。

如何在選擇開始時定位脫字符號?

回答

2

我不這樣做是可以編程的。正如MSDN中所述,無論開始和結束的相對值如何,本機窗口控件都會在結束位置顯示一個閃爍的插入符號。

+0

的確。感謝您的鏈接,它確實似乎是不可能的。 – 2009-07-26 12:54:06

1

很少有東西是不可能的...

textbox.select(11, 0); 
SendKeys.Send("+{LEFT}+{LEFT}+{LEFT}+{LEFT}+{LEFT}+{LEFT}"); 
+0

問題在於,如果圍繞文本框有任何鍵盤處理邏輯,則會爲每個模擬鍵調用它。 – 2012-04-05 12:59:23