我有一个VB.Net Winforms应用程序,它显示MDI父窗体并允许在其上显示多个子窗体。如果子窗体超出屏幕高度,则垂直滚动条会自动显示在MDI Parent&amp ;;的右侧。我可以使用此滚动条将子表单滚动到视图中。
但是,鼠标滚轮对此滚动条没有影响。如何让鼠标滚轮滚动子窗体?
我可以处理鼠标滚轮事件,但是一旦我处理它们以启用滚动窗口,我不知道如何处理它们。
答案 0 :(得分:1)
捕获mousewheel事件后,只需调用正在滚动的控件的SetDisplayRectLocation()。像
这样的东西myControl.SetDisplayRectLocation(
myControl.DisplayRectangle.X,
myControl.DisplayRectangle.Y + MouseWheelDelta * ScrollAmount
);
(ScrollAmount是您定义的常量 - 以30像素开头)。
您还需要在主窗体上调用AdjustFormScrollbars()以更新滚动条位置。
(抱歉,这是C# - 我不懂VB语法)