I'm using a multi-line
for a simple editor I'm working on. I didn't know how to get the cursor position, so I searched online and found (somewhere):
textbox.GetLineFromCharIndex ( textbox.SelectionStart )
for the line number and
textbox.SelectionStart - textbox.GetFirstCharIndexOfCurrentLine
for the position within the line. And they seemed to work properly until I noticed that I got some negative values for the position within the line when I selected some text.
A little experimentation and exploration resulted in abandoning the
* method in favor of the
method. So now I get the cursor position this way:
public static partial class LibExt
public static System.Drawing.Point
this System.Windows.Forms.TextBox TextBox
int s = TextBox.SelectionStart ;
int y = TextBox.GetLineFromCharIndex ( s ) ;
int x = s - TextBox.GetFirstCharIndexFromLine ( y ) ;
return ( new System.Drawing.Point ( x , y ) ) ;
* It appears that
uses the position of the caret to determine which line is "
", whereas we're trying to use the
BSCS 1992 Wentworth Institute of Technology
Originally from the Boston (MA) area. Lived in SoCal for a while. Now in the Phoenix (AZ) area.
OpenVMS enthusiast, ISO 8601 evangelist, photographer, opinionated SOB
"If you need help knowing what to think, let me know and I'll tell you." -- Jeffrey Snover [MSFT]
"Typing is no substitute for thinking." -- R.W. Hamming
"I find it appalling that you can become a programmer with less training than it takes to become a plumber." -- Bjarne Stroustrup
ZagNut’s Law: Arrogance is inversely proportional to ability.
"Well blow me sideways with a plastic marionette. I've just learned something new - and if I could award you a 100 for that post I would. Way to go you keyboard lovegod you." -- Pete O'Hanlon
"linq'ish" sounds like "inept" in German -- Andreas Gieriet
"Things would be different if I ran the zoo." -- Dr. Seuss
"Wrong is evil, and it must be defeated." – Jeff Ello
"A good designer must rely on experience, on precise, logical thinking, and on pedantic exactness." -- Nigel Shaw
“It’s always easier to do it the hard way.” -- Blackhart
“If Unix wasn’t so bad that you can’t give it away, Bill Gates would never have succeeded in selling Windows.” -- Blackhart
"Omit needless local variables." -- Strunk... had he taught programming
"We learn more from our mistakes than we do from getting it right the first time."
My first rule of debugging: "If you get a different error message, you're making progress."
My golden rule of database management: "Do not unto others' databases as you would not have done unto yours."
My general rule of software development: "Design should be top-down, but implementation should be bottom-up."