现在我的页面是这样的,左边是treeView,有5个节点(节点1到节点5),每个节点都对应着一个tabpage(tabpage1到tabpage5)。我想要实现的效果是,假如我点击节点1的话,就会看到tabpage1,再点击节点2的话,就会看到tabpage2(tabpage1不关闭)。目前遇到的问题是,页面显示混乱。
求助大家,该怎么控制页面显示顺序问题。谢谢。(之前也发过同样的帖子,但是那个账号受限了,所以重新发)
tabControl1.SelectedIndex =treeView1.SelectedNode.Index;该方法不能实现。

解决方案 »

  1.   

    简单的测试了下,应该是可以实现的,写在treeView1_AfterSelect方法里
      

  2.   

    我是在treeView1_AfterSelect事件里写的。 代码为 tabControl1.SelectedIndex =1;但是不行。请教大家。
      

  3.   

     tabControl1.SelectedIndex =0,也不行。
      

  4.   

    选项卡.SelectedIndex = 选项卡.TabPages.IndexOfKey("详");
      

  5.   


            private void treeView1_AfterSelect(object sender, TreeViewEventArgs e)
            {
                    if (e.Node.Text.ToString() == "查看个人信息")
                    {               
                         tabPage1.Parent = this.tabControl1;
                         tabControl1.SelectedIndex =tabControl1.TabPages.IndexOfKey("");
                     }
                    if (e.Node.Text.ToString() == "修改个人信息")
                    {
                        tabPage2.Parent = this.tabControl1;
                        tabControl1.SelectedIndex = tabControl1.TabPages.IndexOfKey("");
                    }
           }
                      
      

  6.   

      private void treeView1_AfterSelect(object sender, TreeViewEventArgs e)
            {
                    if (e.Node.Text.ToString() == "查看个人信息")
                    {               
                         tabPage1.Parent = this.tabControl1;
                         tabControl1.SelectedIndex =tabControl1.TabPages.IndexOfKey("");
                     }
                    if (e.Node.Text.ToString() == "修改个人信息")
                    {
                        tabPage2.Parent = this.tabControl1;
                        tabControl1.SelectedIndex = tabControl1.TabPages.IndexOfKey("");
                    }
           }
      

  7.   

    tabPage1.Parent = this.tabControl1;这句什么意思?
    tabPage1名称?
      

  8.   

    我的TabPages本来就没有名字。
      

  9.   

    tabPage1显示出来。
    我的tabpage是自动添加的,name属性没有赋值。上面只是写例子说明。
      

  10.   


    我是用vs2008实现的,和你最初说的那种方法一样,能够实现,而且用代码自动生成tabpage或固定tabpage都能实现。以下是代码,tabcontrol1和treeview1都是固定tabpage和node;tabcontrl2和treeview2,都是代码生成tabpage和node,都能实现你所说操作。 private void treeView1_AfterSelect(object sender, TreeViewEventArgs e)
            {
                this.tabControl1.SelectedIndex = this.treeView1.SelectedNode.Index;
            }        private void Form1_Load(object sender, EventArgs e)
            {
                this.treeView2.Nodes.Clear();
                this.tabControl2.TabPages.Clear();
                int n=10;
                for (int i = 1; i <= n; i++)
                {
                    TabPage tp = new TabPage(i.ToString());
                    this.tabControl2.TabPages.Add(tp);
                    treeView2.Nodes.Add(i.ToString() + i.ToString());
                }
            }        private void treeView2_AfterSelect(object sender, TreeViewEventArgs e)
            {
                this.tabControl2.SelectedIndex = this.treeView2.SelectedNode.Index;
            }
      

  11.   

    我想实现的效果是这样的:点击详细信息的时候,就显示一个tabpage,这个tabpage是自动添加的,上面的控件也是自动添加的。用你们的方法, 我的控件就显示不出来了页面上就什么都没有