在c#treeview控件对节点checkbox双击时,会出现勾选和实际选中错乱的问题,如明明打勾了,但获取checked状态,仍为false,反之亦然。
解决方法是屏蔽其双击操作,将双击转换为单击效果。具体如下
public class MyTreeView : TreeView
{
public MyTreeView()
{
}
/// <summary>
/// 消息
/// </summary>
/// <param name="m"></param>
protected override void WndProc(ref System.Windows.Forms.Message m)
{
if (m.Msg == 0x0203) // 双击无反应
{
//m.HWnd = System.IntPtr.Zero;
m.Result = IntPtr.Zero;
}
else
{
base.WndProc(ref m);
}
}
}