.net 如何选择文本框中插入符号位于选择开始处的文本?

.net 如何选择文本框中插入符号位于选择开始处的文本?,.net,winforms,.net,Winforms,我使用的是系统.Windows.Forms.TextBox。可以通过使用键盘选择文本,使插入符号位于选择的开始位置-按住Shift键并向左移动插入符号 我想以编程的方式做同样的事情 例如,假设我有一个文本框,文本为“somesampletext”。我希望“样本”字被选中,插入符号被定位在“样本”中的“s”之前 如果我这样做: textbox.SelectionStart = 5; textbox.SelectionLength = 6; textbox.SelectionStart = 11;

我使用的是
系统.Windows.Forms.TextBox
。可以通过使用键盘选择文本,使插入符号位于选择的开始位置-按住Shift键并向左移动插入符号

我想以编程的方式做同样的事情

例如,假设我有一个文本框,文本为“somesampletext”。我希望“样本”字被选中,插入符号被定位在“样本”中的“s”之前

如果我这样做:

textbox.SelectionStart = 5;
textbox.SelectionLength = 6;
textbox.SelectionStart = 11;
textbox.SelectionLength = -6;
然后我选择了单词,但插入符号就在“sample”中的“e”之后

如果我这样做:

textbox.SelectionStart = 5;
textbox.SelectionLength = 6;
textbox.SelectionStart = 11;
textbox.SelectionLength = -6;
我有个例外


如何在选择的开始处定位插入符号?

我不知道如何编程。正如本机windows控件中所述,无论开始和结束的相对值如何,结束位置都会显示一个闪烁的插入符号。

我不知道如何编程。正如本机windows控件中所述,无论开始和结束的相对值如何,结束位置都会显示闪烁的插入符号。

很少有事情是不可能的

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

几乎没有什么事情是不可能的

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

的确谢谢你的链接,这看起来确实是不可能的。感谢你的链接,这看起来确实是不可能的。问题是如果你在文本框周围有任何键盘处理逻辑,它会被调用用于每个模拟键。问题是如果你在文本框周围有任何键盘处理逻辑,它会被调用用于每个模拟键。