c# - 获取所选文本在文本框中字符串中的位置

标签 c# textbox selectedtext

好的,我正在尝试在这里做一些具体的事情。我想获取文本框中所选文本的位置。

详细说明 - 我可以使用位置来选择文本。如果我有一个 textBox1,我可以这样做:

textBox1.SelectionStart = 1;
textBox1.SelectionLength = 4;

那将从第二个字母开始并选择 4 个字母。

我想做的是相反的:当用户选择文本时,我想找出开始是什么,长度是多少(或者开始是什么,结束是什么。两者都可以)。

我考虑过只在字符串中搜索所选文本 (textBox1.SelectedText)。如果它是一个常用词或多次使用的字符串,问题就来了。例如。

This is a cat. This is a cat. This is a cat.

如果他们选择第二个句子,使用 SelectedText 搜索特定句子的字符串对我没有好处。它可以是 3 个中的任何一个。

所以,我的问题是:当用户单击按钮时,我如何确定用户选择的确切元素,以便我以后可以操作这些特定元素?重要的是要注意后面的部分——我可能不仅想在按下按钮时操纵文本。稍后我还想对其进行操作,届时文本可能不再突出显示。这意味着我要存储一些东西来告诉我我正在处理的句子的哪些特定部分。如果那个解决方案不可行,有没有你能想到的解决方案,在上面的“这是一只猫”的例子中,用户可以选择第二个句子,点击一个按钮,然后我知道选择了哪个句子当他按下那个按钮时?

最佳答案

根据documentation , SelectionStartSelectionLength 都可以设置和读取。只需使用这些。

关于c# - 获取所选文本在文本框中字符串中的位置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15692586/

相关文章:

c# - TextBox 控件内的图像 C#

c++ - 如何将文本附加到文本框?

获取组合框的选定文本的PHP代码

vim - 更改 vim 选定的文本颜色

c# - 自定义方法 "GetControlsOfType"似乎在上升控制结构以及下降

c# - 农夫。从加载项端调用

c# - HtmlAgilityPack - 如何获取 function{} 中的 Innerhtml 值

java - C# 和 Java - 将文件从 Android 上传到 WCF

c# - 阻止 "stealing"滚动事件中的多行 TextBox

jquery - 使用 jquery 将某些内容 append 到选定的文本