none
点击treeview根节点的问题 RRS feed

  • 问题

  • 2个treeview,点击treeview1的根节点显示tableLayoutPanel1,并改变tableLayoutPanel1中的button的imageindex.
    点击treeview2的根节点显示tableLayoutPanel2,并改变tableLayoutPanel2中的button的imageindex.

    为什么店根节点没反应呢?
    比如:程序运行之后点treeview2的根节点,反应正常,但是接着点treeview1的根节点就没反应了,必须要先点一下treeview1的子节点,然后再点它的根节点结果才正常。

    请问是为什么?该怎么解决?

    2009年7月1日 8:17

答案

  • 因为根节点已经选中,所以多次点击一个节点,只会触发一次选择事件,你需要在选择 treeview2的根节点时,去清除 treeview 1已选中的节点, treeView1.SelectedNode = null, 同理在 treeView1 选中根节点时也清除 treeView2 的已选中的节点
    知识改变命运,奋斗成就人生!
    • 已标记为答案 黄昏 2009年7月1日 8:42
    2009年7月1日 8:32
    版主

全部回复

  • 你好!
         请问你使用的是什么事件呢?
         如果方便的话可以提供相关的源代码吗?
    周雪峰
    2009年7月1日 8:23
    版主
  • 因为根节点已经选中,所以多次点击一个节点,只会触发一次选择事件,你需要在选择 treeview2的根节点时,去清除 treeview 1已选中的节点, treeView1.SelectedNode = null, 同理在 treeView1 选中根节点时也清除 treeView2 的已选中的节点
    知识改变命运,奋斗成就人生!
    • 已标记为答案 黄昏 2009年7月1日 8:42
    2009年7月1日 8:32
    版主
  • 你好!
         请问你使用的是什么事件呢?
         如果方便的话可以提供相关的源代码吗?
    周雪峰


    你好!
           我使用的是AfterSelect事件。
           treeview的根节点是2000,子节点是1,2,3,4,5,6,7,8,9,10,11,12
          
         
          

            private void treeView1_AfterSelect(object sender, TreeViewEventArgs e)
            {
                if(e.Node.Text=="2000")
                {
                    this.button4.ImageIndex = 0;
                    this.button5.ImageIndex = 1;
                    this.button6.ImageIndex = 2;
                    this.button7.ImageIndex = 3;
                    this.button8.ImageIndex = 4;
                    this.button9.ImageIndex = 5;

                    this.dataGridView1.Hide();
                    this.tableLayoutPanel1.Show();          
                }
            }

            private void button4_Click(object sender, EventArgs e)
            {
                if(this.button4.ImageIndex<=11)
                {
                    showDataGrid(this.button4.ImageIndex);
                    this.tableLayoutPanel1.Hide();
                    this.dataGridView1.Show();
                }
            }

    2009年7月1日 8:36
  • 可以参考XXY版主的解释!你再试试,如果还有问题,我们继续交流啊!
    周雪峰
    2009年7月1日 8:42
    版主
  • 成了,谢谢各位!

    2009年7月1日 8:42
  • 不客气啊!
    周雪峰
    2009年7月1日 14:19
    版主