带CheckBoxs的ListView在双击时如何不改变Checked状态?

来源:互联网 发布:惊艳的句子知乎 编辑:程序博客网 时间:2024/05/02 02:54

如果你的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());}elsebase.WndProc (ref m);}}
原创粉丝点击