再用API函數GetScrollPos分別獲得文本框和行號框當前行號,最後再使用API函數SendMessage使行號框的行號滾動到對應的行數。
因為文本框的滾動條沒有滾動事件,可以暫時使用壹個Timer定時刷新,雖然方法笨了點,但暫時只能這麽用了
代碼如下:
Private Declare Function GetScrollPos Lib "user32" (ByVal handle As IntPtr, ByVal nbar As Integer) As Integer
Private Declare Function SendMessage Lib "user32" Alias "SendMessageA" (ByVal hwnd As IntPtr, ByVal wMsg As Integer, ByVal wParam As Integer, ByVal lParam As Integer) As Integer
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim a as integer
a = GetScrollPos(TextBox1.Handle, 1)
Dim b as integer
b = GetScrollPos(TextBox2.Handle, 1)
SendMessage(TextBox2.Handle, &HB6, 0, a-b)
End Sub