當前位置:編程學習大全網 - 編程軟體 - VB.NET中,如何獲得文本框中可見區域的首行的行號?

VB.NET中,如何獲得文本框中可見區域的首行的行號?

可先計算出文本框TextBox1中的總行數,然後在行號框TextBox2中填上從1到總行數的行號。

再用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

  • 上一篇:河南省上蔡蘇豫中學的詳細介紹
  • 下一篇:如何設計高品質LoRa無線模塊
  • copyright 2024編程學習大全網