2009-06-10 107 views
1

我有一個VB.Net Winforms應用程序,它顯示一個MDI父窗體並允許顯示多個子窗體。如果子窗體延伸超出屏幕高度,MDI父&右側將自動顯示垂直滾動條我可以使用此滾動條將子窗體滾動到視圖中。如何使用MouseWheel在Winforms應用程序中滾動MDI父窗口

但是,鼠標滾輪對此滾動條沒有影響。我怎樣才能讓鼠標滾動子窗體?

我可以處理mousewheel事件,但我不知道如何處理它們以啓用滾動窗口。

回答

1

捕獲鼠標滾輪事件後,只需調用正在滾動的控件的SetDisplayRectLocation()即可。類似於

myControl.SetDisplayRectLocation(
      myControl.DisplayRectangle.X, 
      myControl.DisplayRectangle.Y + MouseWheelDelta * ScrollAmount 
     ); 

(ScrollAmount是您定義的常量 - 以30像素開始)。

您還需要在主窗體上調用AdjustFormScrollbars()以更新滾動條位置。

(對不起,這是C# - 我不懂VB語法)

相關問題