使用 Panel 做為控件容器時,設定 Panel.AutoScroll=true時,在适當的時候将會出現滾動條,但是隻能通過拖動滾動條來調整滾動條的位置,如果想要用滑鼠中間鍵來控制滾動條的位置,可以通過下面幾步來完成
1.在構造函數中加上
Panel1.MouseWheel += new System.Windows.Forms.MouseEventHandler(this.Panel1_MouseWheel);
如果是繼承 Panel的話,就 直接覆寫 OnMouseWheel
2. 在 Panel的 mouseDown事件中,加上
panel.Focus();
參考: http://www.csharpwin.com/csharpspace/9145r8977.shtml
另想問個問題, 我如果繼承的時UserControl的話,設定 AutoScroll=true後,移動滾動條到某個位置(滑鼠沒有點選 panel裡的内容),然後再點選panel的内容,滾動條會自動調到最上面.請問為什麼? 有什麼辦法解決不?