现在的位置: 首页 > 综合 > 正文

[.NET]ListView的Scroll事件

2013年10月02日 ⁄ 综合 ⁄ 共 669字 ⁄ 字号 评论关闭

是的,就是这样。微软没有给ListView加上Scroll事件。这已经作为一项意见提交给了微软,在dotNET v2.0里面有望加上Scroll事件。
不过现在我们怎么办?
我们现在只能自己动手,丰衣足食了。

例子代码:
 
class MyListView : ListView
{
 public event EventHandler HScroll;
 public event EventHandler VScroll;

 MyListView()
 {
  this.HScroll += new EventHandler(OnHScroll);
  this.VScroll += new EventHandler(OnVScroll);
 }

 const int WM_HSCROLL = 0x0114;
 const int WM_VSCROLL = 0x0115;
 protected override void WndProc(ref Message m)
 {
  if(m.Msg == WM_HSCROLL)
  {
   OnHScroll(this, new EventArgs());
  }
  else if(m.Msg == WM_VSCROLL)
  {
   OnVScroll(this, new EventArgs());
  }

  base.WndProc (ref m);
 }

 virtual protected void OnHScroll(object sender, EventArgs e)
 {
 }

 virtual protected void OnVScroll(object sender, EventArgs e)
 {
 }
}

抱歉!评论已关闭.