我想在ListView中为滚动创建一个事件 .
我发现了一些有效的东西,但它只在使用滚动条时触发事件 . 它不响应鼠标滚轮或箭头滚动 .
private const int WM_HSCROLL = 0x114;
private const int WM_VSCROLL = 0x115;
public event EventHandler Scroll;
protected void OnScroll()
{
if (this.Scroll != null)
this.Scroll(this, EventArgs.Empty);
}
protected override void WndProc(ref System.Windows.Forms.Message m)
{
base.WndProc(ref m);
if (m.Msg == WM_HSCROLL || m.Msg == WM_VSCROLL )
this.OnScroll();
}
为鼠标滚轮和键盘上/下按钮触发滚动事件需要什么常量?
2 回答
鼠标滚轮
m.Msg
值应为:我找到了其他常量,用于在向下箭头键和键盘上的结束键上进行滚动 . 这是CustomListView的代码