我添加了这个
public class MyListView : ListView
{
public event EventHandler<EventArgs> Scrolled;
protected override void WndProc(ref Message m)
{
base.WndProc(ref m);
const int wm_vscroll = 0x115;
if (m.Msg == wm_vscroll && Scrolled != null)
{
Scrolled(this, new EventArgs());
}
}
}
当我滚动鼠标滚轮时,它会完美地滚动列表,我的滚动事件不会触发。
我试过钩住MouseWheel,但是在鼠标滚轮事件返回窗口之后发生滚动,但仍然没有调用滚动事件。
编辑:- 我添加了一个调用我的更新代码的 OnMouseWheel 事件,但这是在滚动可见区域之前调用的,因此我的更新代码遗漏了一些部分。
我希望鼠标滚轮事件滚动可见区域然后调用 onScroll 事件,或者作为鼠标滚轮滚动可见区域的副产品调用 onscroll 事件