我如何限制不在WinForm TreeView中选择父节点

时间:2015-04-17 07:20:17

标签: c# winforms treeview

winform我希望restrict only select child nodes not to select only parent node.

我尝试按照已检查的父点击和显示消息框。

TreeNode node = treeView.SelectedNode;
while (node.Parent != null)
{
    node = node.Parent;
} 

A
+-B
+-C 
  

还有其他方法吗?

我希望用户能够选择B , C,但当他选择A时,我想要显示please select child node

等弹出窗口

1 个答案:

答案 0 :(得分:1)

为什么'winforms-to-web'和'node.js'标签?

在c#Winform上,可能是这样的,处理Treeview的AfterSelect事件:

    private void treeView1_AfterSelect(object sender, TreeViewEventArgs e)
    {
        if (e.Node.Parent == null && e.Node.Nodes.Count>0){
            MessageBox.Show("only child nodes must be selected", "warning");
            treeView1.SelectedNode=e.Node.Nodes[0];
        }
    }

要避免初始消息,您可以执行此操作

   private void Form1_Load(object sender, EventArgs e)
    {
        //tree load
        treeView1.SelectedNode = treeView1.Nodes[0].Nodes[0];
        treeView1.ExpandAll();
    }

或者在树加载后通过代码分配处理程序。

相关问题