public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }        MyRichTextBox c1 = new MyRichTextBox();
        MyRichTextBox2 c2 = new MyRichTextBox2();
        
        private void Form1_Load(object sender, EventArgs e)
        {            
            c1.SendMessageEvent += new SendMessage(c1_SendMessageEvent);
            //c2.SendMessageEvent += new SendMessage(c2_SendMessageEvent);            this.Controls.Add(c1);
            this.Controls.Add(c2);
            c1.Height = this.Height / 2 - 30;
            c2.Top = this.Height / 2;
            c2.Size = c1.Size;            c1.WordWrap = false;
            c2.WordWrap = false;
        }        void c1_SendMessageEvent(Message msg)
        {
            c2.Scroll(msg);            
        }public enum WindowsMessage
    {
        WM_HSCROLL = 0x0114,
        WM_VSCROLL = 0x0115
    }    public delegate void SendMessage(Message msg);        public partial class MyRichTextBox : System.Windows.Forms.RichTextBox    {
        public MyRichTextBox()
        {
            InitializeComponent();
        }        public event SendMessage SendMessageEvent;        protected override void WndProc(ref Message m)
        {
            if (m.Msg == (int)WindowsMessage.WM_HSCROLL || m.Msg == (int)WindowsMessage.WM_VSCROLL)
            {
                if (SendMessageEvent != null)
                {
                    SendMessageEvent(m);
                }
            }
            base.WndProc(ref m);
        }
        public void Scroll(Message m)
        {
            m.HWnd = this.Handle;
            WndProc(ref m);
        }这个可以使一个richtextbox 与另一个同步滚动。但不能完全同步。  怎么才能完全同步滚动?