2009-07-26 90 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