AutoScrollPosition всегда возвращает (0,0) для элемента управления SplitPanel - PullRequest
1 голос
/ 17 января 2012

Я пытаюсь синхронизировать прокрутку двух разделенных контейнеров в элементе управления разделенной панелью. У меня есть код ниже:

    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). У меня включена автопрокрутка для обоих разделенных контейнеров. Почему это? Что я могу сделать, чтобы получить позицию прокрутки?

1 Ответ

0 голосов
/ 18 января 2012

Похоже, вы скопировали код из этого ответа: Прокрутите 2 панели одновременно

Вы подключили события:

this.splitContainer1.Panel1.Paint += new PaintEventHandler(PanelPaint);
this.splitContainer1.Panel2.Paint += new PaintEventHandler(PanelPaint);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...