注册 登录
编程论坛 VB.NET论坛

VB.NET Richtextbox控件联动

ZMGTCDY 发布于 2013-03-04 16:21, 473 次点击
两个Richtextbox控件(内容不同),如何实现托动其中一个控件的滚动条或鼠标时另一个Richtextbox控件的内容也随着同步移动。请各位高手帮助解决,要代码。谢谢!!
2 回复
#2
不说也罢2013-03-06 13:57
希望下面的例子能帮到你,窗体上只需添加两个richtextbox,并复制若干行字符即可
程序代码:

Public Class Form1
    Const EM_LINESCROLL = &HB6
    Private Declare Function SendMessageBynum Lib "user32" Alias "SendMessageA" (ByVal hwnd As Integer, ByVal wMsg As Integer, ByVal wParam As Integer, ByVal lParam As Integer) As Integer

    Public Function GetFirstLine() As Integer

        Dim point As System.Drawing.Point
        point.Y = 1
        point.X = 1
        Dim start As Integer = RichTextBox1.GetCharIndexFromPosition(point)
        GetFirstLine = RichTextBox1.GetLineFromCharIndex(start)
    End Function

    Private Sub RichTextBox1_VScroll(ByVal sender As Object, ByVal e As System.EventArgs) Handles RichTextBox1.VScroll
        RichTextBox2.ScrollToCaret()
        SendMessageBynum(RichTextBox2.Handle, EM_LINESCROLL, 0, GetFirstLine)
    End Sub
End Class

#3
ZMGTCDY2013-03-07 10:33
感谢2楼发的贴子!效果很好,让我感觉很兴奋。这些天在网上搜了很多此类问题,但都没有满意的答案。也许是学的人比较少的原因吧。再次感谢“不说也罢”。支持
1