C# 对于SplitPanel控件,AutoScrollPosition始终返回(0,0)

C# 对于SplitPanel控件,AutoScrollPosition始终返回(0,0),c#,winforms,C#,Winforms,我正在尝试在splitpanel控件内同步两个SplitContainer的滚动。我的代码如下: Point mPrevPan1Pos = new Point(); Point mPrevPan2Pos = new Point(); void PanelPaint(object sender, System.Windows.Forms.PaintEventArgs e) { if (splitContainer1.Panel1.AutoSc

我正在尝试在splitpanel控件内同步两个SplitContainer的滚动。我的代码如下:

    Point mPrevPan1Pos = new Point(); 
    Point mPrevPan2Pos = new Point(); 

    void PanelPaint(object sender, System.Windows.Forms.PaintEventArgs e) 
    { 
       if (splitContainer1.Panel1.AutoScrollPosition != mPrevPan1Pos) 
       { 
          splitContainer1.Panel2.AutoScrollPosition = new System.Drawing.Point(-splitContainer1.Panel1.AutoScrollPosition.X, -splitContainer1.Panel1.AutoScrollPosition.Y); 
          mPrevPan1Pos = splitContainer1.Panel1.AutoScrollPosition; 
       } 
       else if (splitContainer1.Panel2.AutoScrollPosition != mPrevPan2Pos) 
       { 
          splitContainer1.Panel1.AutoScrollPosition = new System.Drawing.Point(-splitContainer1.Panel2.AutoScrollPosition.X, -splitContainer1.Panel2.AutoScrollPosition.Y); 
          mPrevPan2Pos = splitContainer1.Panel2.AutoScrollPosition; 
       } 
    } 

但是,AutoScrollPosition始终为(0,0)。我已经为两个拆分容器启用了AutoScroll。为什么会这样?如何获取滚动位置?

看起来您从以下答案复制了代码:

你把这些事件联系起来了吗

this.splitContainer1.Panel1.Paint += new PaintEventHandler(PanelPaint);
this.splitContainer1.Panel2.Paint += new PaintEventHandler(PanelPaint);