如何在C#表格中查找单个文本单词的位置

How to find the position of a single word of text in a form C#

我不确定这是否可行。我感兴趣的是能够在 WinForm.

上找到文本单词的 (x,y) 位置

例如下图中,我希望能够拉取"HERE"中字母H左上角的(x,y)坐标。

我知道如何获取文本框的位置,所以我可以根据 "HERE" 这个词在文本框内的位置进行粗略估计,但我希望能够直接询问程序如果可能的话,这个词在哪里。

此外,如果有办法得到那个位置,我希望能够得到单词的长度和高度(基本上我想知道单词边界框的坐标"HERE" 如果可能)

不确定这是否重要,但文本框是 richTextBox,并且文本框是从 Form1 class.

中的字符串数组填充的

提前致谢!

您可以使用 GetPositionFromCharIndex 方法来获取 "HERE" 在 TextBoxRichTextBox 中的位置(两者都适用)。

您可能知道,要在 window 中获得位置,您必须将其与 richTextBox 的位置相加。像这样:

int index = richTextBox1.Text.IndexOf("HERE");
Point textBoxLocation = richTextBox1.GetPositionFromCharIndex(index);
Point windowsLocation = new Point(richTextBox1.Location.X + textBoxLocation.X, richTextBox1.Location.Y + textBoxLocation.Y);
Console.WriteLine("Position in textbox: " + textBoxLocation.ToString());
Console.WriteLine("Position in window: " + windowsLocation.ToString());