ListView 好像不支持Scroll 事件。每当滚动列表时,我都需要调用一个函数;我该怎么做?
最佳答案
为什么需要在列表滚动的时候调用一个函数?
如果您在滚动时更改项目,我建议将 ListView 设置为虚拟。
或者您可以覆盖 ListView 并执行此操作:
public class TestListView : System.Windows.Forms.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();
}
}
关于c# - 如何监听 ListView 中的滚动?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/372034/