Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/272.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使tabpage不处理鼠标滚轮事件(C#)_C#_Mousewheel_Tabpage - Fatal编程技术网

使tabpage不处理鼠标滚轮事件(C#)

使tabpage不处理鼠标滚轮事件(C#),c#,mousewheel,tabpage,C#,Mousewheel,Tabpage,我制作了一个MDI(标签)应用程序,它在标签页中使用图片框。picturebox有时比tabpage大,因此会出现滚动条。它是使用Windows窗体用C#编写的 在我的选项卡页面中,我在MouseWheel事件中捕获并处理鼠标滚轮事件(我使用它旋转我在picturebox中绘制的一些对象) 但是当我有滚动条时,当我旋转鼠标滚轮时,我的对象会旋转,但tabpage也会向下滚动 如何使tabpage不处理mousewheel事件,从而使其不向下滚动?我希望仅当用户单击并拖动滚动条时,它才可滚动。子类

我制作了一个MDI(标签)应用程序,它在标签页中使用图片框。picturebox有时比tabpage大,因此会出现滚动条。它是使用Windows窗体用C#编写的

在我的选项卡页面中,我在MouseWheel事件中捕获并处理鼠标滚轮事件(我使用它旋转我在picturebox中绘制的一些对象)

但是当我有滚动条时,当我旋转鼠标滚轮时,我的对象会旋转,但tabpage也会向下滚动


如何使tabpage不处理mousewheel事件,从而使其不向下滚动?我希望仅当用户单击并拖动滚动条时,它才可滚动。

子类
TabPage
,并覆盖
WndProc()
方法以忽略
WM_mouseweel
消息:

public class MyTabPage : TabPage
{
  private const int WM_MOUSEWHEEL = 0x20a;

  protected override void WndProc(ref Message m)
  {
    // ignore WM_MOUSEWHEEL events
    if (m.Msg == WM_MOUSEWHEEL)
    {
      return;
    }

    base.WndProc(ref m);
  }
}

然后使用您的
MyTabPage
子类代替标准的
TabPage

工作!谢谢PS:还有别的方法不需要我创建另一个类吗?