有没有办法在文本框中为字符串返回一个点?我发现一个COM函数GetTextExtentPoint将返回一个字符串的长度,但我想知道字符串开始的位置。在文本框中查找字符串的x,y点
0
A
回答
2
您正在寻找的GetPositionFromCharIndex
方法。
2
首先,找出字符串的第一个字符的索引。
int index = textBox1.Text.IndexOf(someString);
然后使用GetPositionFromCharIndex。
Point stringPos = textBox1.GetPositionFromCharIndex(index);
(代码没有测试,但是这样的事情应该工作。当然,你将不得不面对与您在文本框中字符串的重复出现的可能性。)
0
让我们想到的是为表单和文本创建一个快照,然后做一些花哨的图像比较以找到出发点..但是为此,您需要编写/下载具有这些比较方法的库。 ..因此变得非常复杂...
你为什么需要这样做?
+0
那么我有我自己的用户控件,我正在扩展文本框,并且我想添加其他功能。如果我有一个字符串的点,我可以添加一些自定义图形。 – Icono123 2010-03-19 17:15:27
这是一个本地函数,而不是COM函数。 (这两个不一样) – SLaks 2010-03-19 16:21:05
@ lcono123这很有趣我只想知道为什么,以及答案。 – msarchet 2010-03-19 16:21:31