第一个版本的双击不展开或收拢树节点是有BUG的,不知道有没有人发现。呵呵。在为节点加入了图标后,双击图标位置,以前的代码是不能够控制展开和收拢的。
后来仔细看了一下MouseDown事件才知道自己懂的东东太少了。
以下是更简单的实现代码:
事件注册:
后来仔细看了一下MouseDown事件才知道自己懂的东东太少了。
以下是更简单的实现代码:
事件注册:
BeforeExpand
+=
new
TreeViewCancelEventHandler(treeView_BeforeExpand);
BeforeCollapse += new TreeViewCancelEventHandler(treeView_BeforeCollapse);
MouseDown += new MouseEventHandler(treeView_MouseDown);
private bool expandCollapse;
private void treeView_MouseDown( object sender, MouseEventArgs e)
{
expandCollapse = e.Clicks > 1 ; // 使用点击计数器,超过1以后都不让你展开或收拢。
}
private void treeView_BeforeExpand( object sender, TreeViewCancelEventArgs e)
{
e.Cancel = expandCollapse;
}
private void treeView_BeforeCollapse( object sender, TreeViewCancelEventArgs e)
{
e.Cancel = expandCollapse;
}
BeforeCollapse += new TreeViewCancelEventHandler(treeView_BeforeCollapse);
MouseDown += new MouseEventHandler(treeView_MouseDown);
private bool expandCollapse;
private void treeView_MouseDown( object sender, MouseEventArgs e)
{
expandCollapse = e.Clicks > 1 ; // 使用点击计数器,超过1以后都不让你展开或收拢。
}
private void treeView_BeforeExpand( object sender, TreeViewCancelEventArgs e)
{
e.Cancel = expandCollapse;
}
private void treeView_BeforeCollapse( object sender, TreeViewCancelEventArgs e)
{
e.Cancel = expandCollapse;
}