当我通过单击右侧的加号展开TreeView节点时,节点将被选中。我怎么能避免这个?我希望能够在不更改所选节点的情况下扩展节点(例如,在RegEdit.exe中),并且仅在单击节点文本时更改选择。
(请原谅我似乎是一个基本问题 - 我确实搜索过,但一无所获。欢迎使用任何指针或链接。)
答案 0 :(得分:1)
我相信您可以使用的是BeforeSelect事件,如果所选节点有子节点,则应允许您取消节点选择。
private void MyTreeView_BeforeSelect(object sender, TreeViewCancelEventArgs e)
{
If (nodeWithChildren) e.Cancel = True
}
答案 1 :(得分:0)
这个派对有点晚了。
您可以使用命中测试。
private void myTreeView_NodeMouseClick(object sender, TreeNodeMouseClickEventArgs e)
{
TreeViewHitTestInfo info = myTreeView.HitTest(e.Location);
if (info.Location == TreeViewHitTestLocations.Label)
{
TreeNode node = myTreeView.GetNodeAt(e.Location);
//do something
}
}
如果单击标签,则仅选择节点。
希望这有帮助。