• Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 175
  • Last Modified:

line number

How can I return the line number of a multiline text box?
1 Solution
Well, I've never tried this, but here are a few ideas:

I've heard you can try to write a function to cound the number of ASCII return characters chr(10) before the current cursor position in a rich text box.

Or, if your textbox is going to remain a fixed size (i.e. not resize with the window), you could use a fixed-width font and figure out how many characters fit on a line, and divide the number of characters before the cursor by the characters per line.

EDIT: I just looked and found this code that should help

this will return the current line number

<System.Runtime.InteropServices.DllImport("user32")> Shared Function _
    SendMessage(ByVal hWnd As Integer, ByVal wMsg As Integer, _
    ByVal wParam As Integer, ByVal lParam As Integer) As Integer
End Function

' Determine the current line in a multiline TextBox control
' Example: MessageBox.Show(GetTextBoxCurrentLine(TextBox1))

Function GetTextBoxCurrentLine(ByVal tb As TextBox) As Integer
    Const EM_LINEFROMCHAR As Integer = &HC9
    Return SendMessage(tb.Handle.ToInt32(), EM_LINEFROMCHAR, -1, 0) + 1
End Function

Featured Post

Upgrade your Question Security!

Your question, your audience. Choose who sees your identity—and your question—with question security.

Tackle projects and never again get stuck behind a technical roadblock.
Join Now