c# - 两个富文本框的相同滚动条

标签 c# .net custom-controls scrollbar

是否有任何第三方工具可用,它有两个富文本框,但两者只有一个共享滚动条。我需要用两种不同的语言实现一些文本,但两个文本框应该同时滚动。

最佳答案

    public enum ScrollBarType : uint
    {
        SbHorz = 0,
        SbVert = 1,
        SbCtl = 2,
        SbBoth = 3
    }

    public enum Message : uint
    {
        WM_VSCROLL = 0x0115
    }

    public enum ScrollBarCommands : uint
    {
        SB_THUMBPOSITION = 4
    }

    [DllImport("User32.dll")]
    public extern static int GetScrollPos(IntPtr hWnd, int nBar);

    [DllImport("User32.dll")]
    public extern static int SendMessage(IntPtr hWnd, uint msg, IntPtr wParam, IntPtr lParam);
   // Set the dual scrolling on the richTextbox1 and affects richTextbox2

    private void richTextBox1_VScroll(object sender, EventArgs e)
    {
        int nPos = GetScrollPos(richTextBox1.Handle, (int)ScrollBarType.SbVert); 
        nPos <<= 16;
        uint wParam = (uint)ScrollBarCommands.SB_THUMBPOSITION | (uint)nPos;
        SendMessage(richTextBox2.Handle, (int)Message.WM_VSCROLL, new IntPtr(wParam), new IntPtr(0));
    }

关于c# - 两个富文本框的相同滚动条,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10266625/

相关文章:

C# 检查一个词是否在英语词典中?

c# - 使用 C# 的公钥验证 JWT

c# - 将自定义控件内的 TextBlock 绑定(bind)到同一自定义控件的依赖属性

c# - 在 WPF 中将形状转换为可重用的几何图形

c# - 到达最后一项时 WP7 自动增长列表框

c# - 在 C# 中等待 Excel Interlop 退出

c# - 如何在第二台显示器上显示闪屏?

.net - 通过 ADO.Net 和 COM 互操作性进行 MS Access 批量更新

.net - 编码/设计通用线程安全限制器(即每秒将 X() 的执行限制为 Y 多次)

WPF - UserControl 默认内容属性