C# 对于SplitPanel控件,AutoScrollPosition始终返回(0,0)
我正在尝试在splitpanel控件内同步两个SplitContainer的滚动。我的代码如下: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
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);