devxlogo

The number of lines in a multiline TextBox control

You can quickly determine how many lines of text are contained in a multiline TextBox control whose Scrollbars property is set to 3-Both – that is, when the TextBox behaves like a programmer’s editor – by counting the number of CR-LF characters in the Text property. You can do that in just one line of code as follows:

' Text1 is a multiline TextBox controllineCount = Len(Text1.Text) - Len(Replace(Text1.Text, vbCrLf, vbCr))

However, this approach fails when Scrollbars = 2-Vertical, that is when the TextBox behave like a word processor and wraps longer lines.

A better approach – that works with any type of multiline TextBox control – is to send it the EM_GETLINECOUNT message:

Private Declare Function SendMessage Lib "user32" Alias "SendMessageA" (ByVal _    hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, _    lParam As Any) As LongConst EM_GETLINECOUNT = &HBAlineCount = SendMessage(Text1.hWnd, EM_GETLINECOUNT, 0, ByVal 0&)

Charlie has over a decade of experience in website administration and technology management. As the site admin, he oversees all technical aspects of running a high-traffic online platform, ensuring optimal performance, security, and user experience.

See also  Seven Service Boundary Mistakes That Create Technical Debt

About Our Editorial Process

At DevX, we’re dedicated to tech entrepreneurship. Our team closely follows industry shifts, new products, AI breakthroughs, technology trends, and funding announcements. Articles undergo thorough editing to ensure accuracy and clarity, reflecting DevX’s style and supporting entrepreneurs in the tech sphere.

See our full editorial policy.