我不确定这是否可能。我感兴趣的是能够在 WinForm
上找到文本单词的 (x,y) 位置。
例如,在下图中,我希望能够拉取“HERE”中字母H的左上角的(x,y)坐标。
我知道如何获取文本框的位置,所以我可以根据“HERE”这个词在文本框内的位置进行粗略估计,但我希望能够只询问程序这个词在哪里如果可能的话。
此外,如果有办法获得该位置,我希望能够获得单词的长度和高度(基本上我想知道单词“HERE”的边界框的坐标,如果可能)
不确定这是否重要,但文本框是 richTextBox
,并且文本框是从 Form1
类中的字符串数组填充的。
提前致谢!
最佳答案
您可以使用 GetPositionFromCharIndex
方法,获取“HERE”在 TextBox
或 RichTextBox
中的位置(两者都适用)。
您可能知道,要获得在窗口中的位置,您必须将其与 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());
关于c# - 如何在C#表格中查找单个文本单词的位置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32855198/