none
MDI 子form scroll bar的問題 RRS feed

  • 問題

  • 我有一個 MDI 子form 會有 scrollbar 若我把這個 MDI 縮到最小
    在回來  那個裡面子form 的scrollbar 自己會 回到最上面

    或者 有其它的 form 擺在它上面 若移開 就會把scrollbar 又自己回到最上面

    有辦法解決嘛?!
    2010年3月9日 上午 03:31

解答

  • Hi,

    這問題是因為AutoScroll幫我們做太多事情了
    太過自動
    當選取回子表單時
    子表單內的控制項會取到焦點
    捲軸就會自動捲動
    讓該控制項可以顯示
    目前我是找不到好的做法
    但也許你可以從這方面下手研究


    謙卑學習,持之以恆,才能不斷的Level Up http://www.dotblogs.com.tw/larrynung/
    2010年3月9日 上午 10:14
  • Hi,

    這問題是因為AutoScroll幫我們做太多事情了
    太過自動
    當選取回子表單時
    子表單內的控制項會取到焦點
    捲軸就會自動捲動
    讓該控制項可以顯示
    目前我是找不到好的做法
    但也許你可以從這方面下手研究


    謙卑學習,持之以恆,才能不斷的Level Up http://www.dotblogs.com.tw/larrynung/
    還是很謝謝您
    其實  我今天也想很多
    但真的  也一時想不出好方法
    大家能幫忙再想想嘛 
    謝謝囉~~~



    感謝 您的回答
    我已經找到答案了
    在您給的程式片斷中 再加上
    MouseWheel  這個 Event 就可以了
    2010年3月10日 上午 07:44

所有回覆

  • Hi,

    子表單處理一下
    像是
            int horizontalScrollValue = 0;
            int verticalScrolllValue = 0;
            private void Form2_Scroll(object sender, ScrollEventArgs e)
            {
                horizontalScrollValue = this.HorizontalScroll.Value;
                verticalScrolllValue = this.VerticalScroll.Value;
            }
            private void Form2_Paint(object sender, PaintEventArgs e)
            {
                this.HorizontalScroll.Value = horizontalScrollValue;
                this.VerticalScroll.Value = verticalScrolllValue;
            }
    


    謙卑學習,持之以恆,才能不斷的Level Up http://www.dotblogs.com.tw/larrynung/
    2010年3月9日 上午 05:10
  • Hi,

    子表單處理一下
    像是
            int horizontalScrollValue = 0;
    
            int verticalScrolllValue = 0;
    
            private void Form2_Scroll(object sender, ScrollEventArgs e)
    
            {
    
                horizontalScrollValue = this.HorizontalScroll.Value;
    
                verticalScrolllValue = this.VerticalScroll.Value;
    
            }
    
            private void Form2_Paint(object sender, PaintEventArgs e)
    
            {
    
                this.HorizontalScroll.Value = horizontalScrollValue;
    
                this.VerticalScroll.Value = verticalScrolllValue;
    
            }
    
    
    
    


    謙卑學習,持之以恆,才能不斷的Level Up http://www.dotblogs.com.tw/larrynung/

    哇  是可以解決
    但有一個問題 
    我不能   用滑鼠的滾輪的 scroll  表單  若想用滾輪就會一直停在原來的畫面 
    但之前提的現像  照您的方法解決了
    2010年3月9日 上午 05:39
  • Hi,

    這問題是因為AutoScroll幫我們做太多事情了
    太過自動
    當選取回子表單時
    子表單內的控制項會取到焦點
    捲軸就會自動捲動
    讓該控制項可以顯示
    目前我是找不到好的做法
    但也許你可以從這方面下手研究


    謙卑學習,持之以恆,才能不斷的Level Up http://www.dotblogs.com.tw/larrynung/
    2010年3月9日 上午 10:14
  • Hi,

    這問題是因為AutoScroll幫我們做太多事情了
    太過自動
    當選取回子表單時
    子表單內的控制項會取到焦點
    捲軸就會自動捲動
    讓該控制項可以顯示
    目前我是找不到好的做法
    但也許你可以從這方面下手研究


    謙卑學習,持之以恆,才能不斷的Level Up http://www.dotblogs.com.tw/larrynung/
    還是很謝謝您
    其實  我今天也想很多
    但真的  也一時想不出好方法
    大家能幫忙再想想嘛 
    謝謝囉~~~


    2010年3月9日 下午 03:51
  • Hi,

    這問題是因為AutoScroll幫我們做太多事情了
    太過自動
    當選取回子表單時
    子表單內的控制項會取到焦點
    捲軸就會自動捲動
    讓該控制項可以顯示
    目前我是找不到好的做法
    但也許你可以從這方面下手研究


    謙卑學習,持之以恆,才能不斷的Level Up http://www.dotblogs.com.tw/larrynung/
    還是很謝謝您
    其實  我今天也想很多
    但真的  也一時想不出好方法
    大家能幫忙再想想嘛 
    謝謝囉~~~



    感謝 您的回答
    我已經找到答案了
    在您給的程式片斷中 再加上
    MouseWheel  這個 Event 就可以了
    2010年3月10日 上午 07:44
  • 我也有想過
    不過當初在屬性視窗內找不到這事件

    剛用程式繫上
    是可以運行

    謙卑學習,持之以恆,才能不斷的Level Up http://www.dotblogs.com.tw/larrynung/
    2010年3月10日 上午 09:41