【问题标题】:c# - prevent mousewheel scrolling in panelc# - 防止鼠标滚轮在面板中滚动
【发布时间】:2014-02-11 05:36:01
【问题描述】:

我想防止在带有滚动条的面板中使用鼠标滚轮滚动,该怎么做?

我已经看到了这个建议,但它不起作用:

panel.MouseWheel += new MouseEventHandler(MouseWheel);

void MouseWheel(object sender, MouseEventArgs e) {
  ((HandledMouseEventArgs)e).Handled = true;
}

【问题讨论】:

    标签: c# .net scroll panel mousewheel


    【解决方案1】:

    如果您为用户提供可滚动控件,为什么还要阻止他们滚动它?如果您不希望它们滚动,请不要给它们滚动条。

    如果我遇到这样的用户界面,我会不喜欢它,只有在绝对必要时才使用它。

    【讨论】:

    • 如果您想使用鼠标滚轮放大图片,那么您不想同时滚动条。尽管如此,您仍需要滚动条才能查看所有图像并使用鼠标使用这些滚动条进行导航。
    • @ChristianGold 我现在遇到了这个确切的问题。在面板内缩放 PictureBox 并滚动面板。我需要一种方法来分离/禁用滚轮滚动。
    【解决方案2】:

    尝试继承您自己的 Panel 并注释掉 OnMouseWheel 调用:

    public class WheelessPanel : Panel {
      protected override void OnMouseWheel(MouseEventArgs e) {
        // base.OnMouseWheel(e);
      }
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2022-11-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-12-08
      • 2013-11-30
      相关资源
      最近更新 更多