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