是否可以在tabPage
上的鼠标滚轮上添加修饰键(例如Ctrl
)?添加修改键以滚动标签页
编辑:
因为我有需要使用鼠标滚轮的tabPage
控制,我想修改键加鼠标滚轮滚动的tabPage
。这样,用户就可以使用鼠标滚轮来操作控件,并且可以通过使用Ctrl
+鼠标滚轮向下滚动或向上滚动。
是否可以在tabPage
上的鼠标滚轮上添加修饰键(例如Ctrl
)?添加修改键以滚动标签页
编辑:
因为我有需要使用鼠标滚轮的tabPage
控制,我想修改键加鼠标滚轮滚动的tabPage
。这样,用户就可以使用鼠标滚轮来操作控件,并且可以通过使用Ctrl
+鼠标滚轮向下滚动或向上滚动。
做到这一点的唯一方法是从TabPage的继承和处理WM_MOUSEWHEEL事件:
public class MyTabPageHandlingCTRL : System.Windows.Forms.TabPage
{
const int WM_MOUSEWHEEL = 0x20A;
protected override void WndProc(ref System.Windows.Forms.Message m)
{
if (m.HWnd != this.Handle)
return;
if (m.Msg == WM_MOUSEWHEEL &&
(Control.ModifierKeys & Keys.Control) != Keys.Control)
{
return; // don't propagate the event
}
base.WndProc(ref m);
}
}
当然在你TabControl.TabPages
必须添加MyTabPageHandlingCTRL
而不是简单TabPage
。
要做什么? –
然后,您必须覆盖标签页上滚轮滚动的行为,并检查Ctrl是否被按下,然后更改行为。 – MrFox
@Jeff我在我的'tabPage'上有控件,需要使用鼠标滚轮。 – Otiel