Red de conocimiento informático - Problemas con los teléfonos móviles - ¿Cómo obtener el número de línea de la primera línea del área visible en el cuadro de texto en VB.NET?

¿Cómo obtener el número de línea de la primera línea del área visible en el cuadro de texto en VB.NET?

Primero puede contar el número total de líneas en el cuadro de texto TextBox1 y luego completar el número de línea desde 1 hasta el número total de líneas en el cuadro de número de línea TextBox2.

Luego use la función API GetScrollPos para obtener el número de línea actual del cuadro de texto y el cuadro de número de línea, y finalmente use la función API SendMessage para desplazar el número de línea del cuadro de número de línea al número de línea correspondiente .

Dado que la barra de desplazamiento del cuadro de texto no tiene eventos de desplazamiento, puede usar temporalmente el temporizador para actualizar. Aunque el método es un poco torpe, solo se puede usar de esta manera por el momento.

El código es el siguiente:

Función de declaración privada GetScrollPos Lib "user32" (ByVal maneja como IntPtr, ByVal nbar como entero) Como entero

Declaración privada Función SendMessage Lib "user32" Alias ​​​​"SendMessageA" (ByVal hwnd como IntPtr, ByVal wMsg como entero, ByVal wParam como entero, ByVal lParam como entero) como entero

Private Sub Button1_Click(ByVal remitente como sistema .Object, ByVal e As System.EventArgs) Botón de proceso1.Click

Atenuar a Como entero

a = GetScrollPos(TextBox1.Handle, 1)

Atenuar b Como número entero

b = GetScrollPos(TextBox2.Handle, 1)

SendMessage(TextBox2.Handle, &HB6, 0, a-b)

End Sub