带CheckBoxs的ListView在双击时如何不改变Checked状态?
作者:Jonne Kats 发布日期:2004-10-20 18:08:26

如果你的ListView为Details模式,并且带有checkboxes,而你又不想在双击时改变CheckBox的状态,你可以从ListView派生,并重载WndProc方法。下面就是方法:

public class MyListView : ListView { private const int WM_LBUTTONDBLCLK = 0x0203; public MyListView():base() { } protected override void WndProc(ref Message m) { if(m.Msg == WM_LBUTTONDBLCLK) { Point p = PointToClient(new Point(Cursor.Position.X, Cursor.Position.Y)); ListViewItem lvi = GetItemAt(p.X, p.Y); if(lvi != null) lvi.Selected = true; OnDoubleClick(new EventArgs()); } else base.WndProc (ref m); } }
原文地址:http://dotnet.aspx.cc/article/ce2bc2d9-7b2c-418a-f7c8-cf2f3d32c2f2/print.aspx
© 版权所有 【孟宪会之精彩世界】TM 2012