TreeNode 中双击节点和单击节点的一点区别

来源:互联网 发布:神影数据 编辑:程序博客网 时间:2024/05/01 15:52

今天在工作中遇到这样的情况

本来双击一个树节点,展开其下面的子节点,后来需求有点变化,展示子节点后还要绑定一个DataGirdView,这样的双击就显得比较累赘,然后就像把双击事件改为单击事件,把本来双击事件中的代码拷到 单击事件中后,问题就出来了

双击事件中的代码如下,程序能正常运行

        private void treeView1_NodeMouseDoubleClick(object sender, TreeNodeMouseClickEventArgs e)        {            this.treeView1.SelectedNode.Parent.Name = "";            #region 其余            #endregion        }

改成单击事件后 把代码 复制到单击事件中,系统报错,说   this.treeview1.selectNode 为空,
private void treeView1_NodeMouseClick(object sender, TreeNodeMouseClickEventArgs e)        {            this.treeView1.SelectedNode.Parent.Name = "";            #region 其余            #endregion        }
当时觉得很纳闷,既然是触发这个单击事件了,肯定是在点击某个节点后才触发的,那么this.treeview1.selectNode 就应该不为NULL,为此纠结了半天,后来经高人指定,才明白,单击事件中还没走到到这个节点被选中的步骤,也就是只是单击这个节点,并没有到选中这个节点的地步!

后来改用了AfterSelect 事件后才搞定!以后的工作中要记住了!

0 0
原创粉丝点击