如何在文本框中找到光标的位置?C#

55 c# cursor-position

我有一个标准的WinForms TextBox,我想在文本中的光标位置插入文本.我怎样才能获得光标的位置?

谢谢

Mat*_*ton 81

无论是否选择任何文本,SelectionStart属性都表示您所关注文本的索引.所以你可以使用String.Insert注入一些文本,如下所示:

myTextBox.Text = myTextBox.Text.Insert(myTextBox.SelectionStart, "Hello world");
Run Code Online (Sandbox Code Playgroud)

  • 可能是因为新行(至少在 Windows 上)是 char 10 和 char 13 的组合 - 新行和回车符。 (2认同)

Dav*_*ton 14

你想检查一下这个SelectionStart属性TextBox.


MaD*_*DoG 7

詹姆斯,当你只想在光标位置插入一些文本时,你需要替换整个字符串是非常低效的.

更好的解决方案是:

textBoxSt1.SelectedText = ComboBoxWildCard.SelectedItem.ToString();
Run Code Online (Sandbox Code Playgroud)

如果未选择任何内容,则会在光标位置插入新文本.如果您选择了某些内容,则会将所选文本替换为您要插入的文本.

我从eggheadcafe网站找到了这个解决方案.


小智 5

您所要做的就是:

双击将文本插入光标处的项目(按钮,标签等)。然后输入:

richTextBox.SelectedText = "whatevertextyouwantinserted";
Run Code Online (Sandbox Code Playgroud)