我在tabcontrol中已经添加了一个tabpage,并在tabpage中添加了一个panel1,现在我要动态添加多个tabpage,如何将panel1动态分别添加到这几个tabpage中。

解决方案 »

  1.   

    Pannel -> TabPage -> TabControl
            private void button1_Click(object sender, EventArgs e) {
                Panel panel = new Panel();
                panel.Dock = DockStyle.Fill;
                TabPage tabPage=new TabPage();
                tabPage.Text = "Dynamic created tab page.";
                tabPage.Controls.Add(panel);
                tabControl1.Controls.Add(tabPage);
            }
      

  2.   

      动态添加:
    就是,程序控制的吧 窗体自动生成的那段代码拷贝过去
    你自己 创建一个窗体,加一个tabcontrol控件,添加一个tabpage,然后拉个panel 看 窗体设计器InitializeComponent()的代码拷贝出来, 吧空间的名字修改已下即可,其他控件也是这样//添加 
    tabControl1.Controls.Add(tabPage);
      //删除
    tabControl1.Controls.Romveat(tabPage);
    举例 :         //窗体自动生成代码包含两部分, 下面这部分,实例化,定义空间的名称
            private System.Windows.Forms.TabControl tabControl1;
            private System.Windows.Forms.TabPage tabPage1;
            private System.Windows.Forms.TabPage tabPage2;
            private System.Windows.Forms.Panel panel1;
           
             private void InitializeComponent()
            {
           // 实例化 控件
            this.tabControl1 = new System.Windows.Forms.TabControl();
                this.tabPage1 = new System.Windows.Forms.TabPage();
                this.tabPage2 = new System.Windows.Forms.TabPage();
                this.panel1 = new System.Windows.Forms.Panel();
                this.tabControl1.SuspendLayout();
                this.tabPage1.SuspendLayout();
                this.SuspendLayout();
                // 
                // 设置控件panel1   属性
                // 
                this.panel1.Location = new System.Drawing.Point(6, 19);
                this.panel1.Name = "panel1";
                this.panel1.Size = new System.Drawing.Size(200, 100);
                this.panel1.TabIndex = 0;             // 
                // 设置控件tabControl1属性,添加页
                // 
                this.tabControl1.Controls.Add(this.tabPage1);
                this.tabControl1.Controls.Add(this.tabPage2);
                this.tabControl1.Location = new System.Drawing.Point(27, 35);
                this.tabControl1.Name = "tabControl1";
                this.tabControl1.SelectedIndex = 0;
                this.tabControl1.Size = new System.Drawing.Size(281, 185);
                this.tabControl1.TabIndex = 0;            // 
                // 设置 tabPage1页属性
                // 
                this.tabPage1.Controls.Add(this.panel1);//tabPage1页添加panel1
                this.tabPage1.Location = new System.Drawing.Point(4, 21);
                this.tabPage1.Name = "tabPage1";
                this.tabPage1.Padding = new System.Windows.Forms.Padding(3);
                this.tabPage1.Size = new System.Drawing.Size(273, 160);
                this.tabPage1.TabIndex = 0;
                this.tabPage1.Text = "tabPage1";
                this.tabPage1.UseVisualStyleBackColor = true;}
      

  3.   

    很多代码也许用不到,就可以不写了,主要写,定义,实例化,和添加,已经设置 panel的位置 等代码即可,2楼回答的就差不多,我之所以 补充,就是让你明白,如果 代码添加控件, 不会写的时候可以参考我说明的,
    这样就可以 动态添加所有控件来