【问题标题】:How to use MouseWheel to scroll MDI parent window in Winforms app如何使用 MouseWheel 在 Winforms 应用程序中滚动 MDI 父窗口
【发布时间】:2009-06-10 17:23:36
【问题描述】:

我有一个 VB.Net Winforms 应用程序,它显示一个 MDI 父窗体并允许在其上显示多个子窗体。如果子窗体超出屏幕高度,则会在 MDI Parent 的右侧自动显示一个垂直滚动条,我可以使用此滚动条将子窗体滚动到视图中。

但是,鼠标滚轮对这个滚动条没有影响。如何让鼠标滚轮滚动子窗体?

我可以处理鼠标滚轮事件,但我不知道在处理它们以启用窗口滚动后如何处理它们。

【问题讨论】:

    标签: winforms mousewheel mdiparent


    【解决方案1】:

    捕获鼠标滚轮事件后,只需调用正在滚动的控件的 SetDisplayRectLocation()。类似的东西

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

    (ScrollAmount 是您定义的常数——从 30 像素开始)。

    您还需要在主窗体上调用 AdjustFormScrollbars() 来更新滚动条位置。

    (对不起,那是 C#——我不懂 VB 语法)

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-09-22
      • 1970-01-01
      • 1970-01-01
      • 2010-10-14
      相关资源
      最近更新 更多