小编Kin*_*ico的帖子

同步两个不同内容的控件的滚动位置

我使用这个简单的代码同时设置不同 RichTextBox 控件的两个滚动条的位置。
当 RichTextBox 的文本比其他文本长时,就会出现麻烦。

有什么建议吗?如何计算差异的百分比,以同步两个控件的滚动位置,例如同时在开始/中间/结束时?

Const WM_USER As Integer = &H400
Const EM_GETSCROLLPOS As Integer = WM_USER + 221
Const EM_SETSCROLLPOS As Integer = WM_USER + 222
Declare Function SendMessage Lib "user32.dll" Alias "SendMessageW" (ByVal hWnd As IntPtr, ByVal msg As Integer, ByVal wParam As Integer, ByRef lParam As Point) As Integer

Private Sub RichTextBox1_VScroll(sender As Object, e As EventArgs) Handles RichTextBox1.VScroll
    Dim pt As Point
    SendMessage(RichTextBox1.Handle, EM_GETSCROLLPOS, 0, pt)
    SendMessage(RichTextBox2.Handle, EM_SETSCROLLPOS, 0, pt)
End Sub

Private Sub …
Run Code Online (Sandbox Code Playgroud)

vb.net winapi scrollbar richtextbox winforms

3
推荐指数
1
解决办法
627
查看次数

标签 统计

richtextbox ×1

scrollbar ×1

vb.net ×1

winapi ×1

winforms ×1