2009-06-10 49 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语法)

相关问题