2010-03-19 56 views
0

有没有办法在文本框中为字符串返回一个点?我发现一个COM函数GetTextExtentPoint将返回一个字符串的长度,但我想知道字符串开始的位置。在文本框中查找字符串的x,y点

+0

这是一个本地函数,而不是COM函数。 (这两个不一样) – SLaks 2010-03-19 16:21:05

+0

@ lcono123这很有趣我只想知道为什么,以及答案。 – msarchet 2010-03-19 16:21:31

回答

2

首先,找出字符串的第一个字符的索引。

int index = textBox1.Text.IndexOf(someString); 

然后使用GetPositionFromCharIndex。

Point stringPos = textBox1.GetPositionFromCharIndex(index); 

(代码没有测试,但是这样的事情应该工作。当然,你将不得不面对与您在文本框中字符串的重复出现的可能性。)

0

让我们想到的是为表单和文本创建一个快照,然后做一些花哨的图像比较以找到出发点..但是为此,您需要编写/下载具有这些比较方法的库。 ..因此变得非常复杂...

你为什么需要这样做?

+0

那么我有我自己的用户控件,我正在扩展文本框,并且我想添加其他功能。如果我有一个字符串的点,我可以添加一些自定义图形。 – Icono123 2010-03-19 17:15:27