winform中treeview我node.remove这个节点后,为什么自动执行AfterSelect事件呀?如何不让她自动执行?

解决方案 »

  1.   

    应该是你有别的代码操作导致触发了AfterSelect事件
      

  2.   

    我做清空树节点的时候 
    它也自动执行select事件
    //清空树节点
    ultraTreeItemType.Nodes.Clear();这样它也要执行那个事件
      

  3.   

    我调试到  remove的 时候 就跳到  AfterSelect事件呀
      

  4.   

    肯定,要换个selectednode了,就触发了
    你可以在afterselect里设置什么条件让他在这种情况下不执行下面的代码
      

  5.   

    测试代码 并没有触发afterSelect事件
    private void button1_Click(object sender, EventArgs e)
            {
                
                //this.treeView1.Nodes.Clear();
                  this.treeView1.Nodes[0].Remove();        }private void treeView1_AfterSelect(object sender, TreeViewEventArgs e)
            {
                MessageBox.Show("Echo");
            }
      

  6.   

    private void ultraTree1_AfterSelect(object sender, Infragistics.Win.UltraWinTree.SelectEventArgs e)
    {
    MessageBox.Show("fsdfsda");
    }
    private void ultraButton1_Click(object sender, EventArgs e)
    {
    ultraTree1.ActiveNode.Remove();
    }你把选中一个节点后   然后再一个按钮中执行remove  就触发了  AfterSelect事件
      

  7.   

    你把当前的移掉了它自然会自动选择另一个节点为selectednode,你在onafterselect事件里看看能不能取消掉