天天看點

C# winform Panel 擷取滾輪事件

使用 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的内容,滾動條會自動調到最上面.請問為什麼? 有什麼辦法解決不?

繼續閱讀