views:

48

answers:

3

Is there a way to return a point for a string within a text box? I found a COM function GetTextExtentPoint that will return the length of a string, but I want to know the point where the string starts.

+2  A: 

First, figure out the index of the first character of the string.

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

Then use GetPositionFromCharIndex.

Point stringPos = textBox1.GetPositionFromCharIndex(index);

(Code not tested, but something like this should work. Of course you will have to deal with the possibility of duplicate occurrences of your string in the textbox.)

Charles
+1  A: 

You're looking for the GetPositionFromCharIndex method.

SLaks
A: 

what comes to mi mind is to take a snapshot of both the form and text then do some fancy image comparing to find the starting point.. but for this you need to write/download a library that has theese comparing methods... thus becoming very complicated...

why do you need to do this?

Luiscencio
Well I have my own user control, which I'm extending textbox, and I want to add additional functionality to it. If I have the point of a string I can add some custom graphics to it.
Icono123