点击from1的butten1,在from2上创建一个tabControl1控件,再创建n个页,每页上创建textbox或者lable等控件,怎么实现?在第一次点击创建完成后通过点击from2上的butten1返回from1,但是不关闭from1,只隐藏,在下一次点击form1的butten1的时候显示出来from2以前添加过的控件仍然有,没添加过的控件添加进去,怎么实现?虽然不难,但是有些麻烦,请教了。有代码最好。谢谢。
调试欢乐多
如果Form2是在可视编程时创建的,可将Form2实例设成全局的,加Form2引用就可以创建控件了
System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(Work));
Work work = new Work();
this.tabControl1 = new System.Windows.Forms.TabControl();
this.tabPage1 = new System.Windows.Forms.TabPage();
this.SuspendLayout();
//
// tabControl1
//
this.tabControl1.Controls.Add(this.tabPage1);
this.tabControl1.Location = new System.Drawing.Point(0, 0);
this.tabControl1.Name = "tabControl1";
this.tabControl1.SelectedIndex = 0;
this.tabControl1.Size = new System.Drawing.Size(238, 269);
this.tabControl1.TabIndex = 0;
//
// tabPage1
//
this.tabPage1.Controls.Add(this.textBox12);
this.tabPage1.Location = new System.Drawing.Point(4, 25);
this.tabPage1.Name = "tabPage1";
this.tabPage1.Size = new System.Drawing.Size(230, 240);
this.tabPage1.Text = "测试";
{
TabControl dd = new TabControl();
dd.Name = "ss";
Form2 frm = new Form2();
frm.Controls.Add(dd);
frm.ShowDialog(); }
{
TabControl dd = new TabControl();
dd.Name = "ss";
TabPage ss = new TabPage();
TextBox tx = new TextBox();
ss.Controls.Add(tx);
dd.Controls.Add(ss);
Form2 frm = new Form2();
frm.Controls.Add(dd);
frm.ShowDialog(); }
{ TabControl tb = new TabControl();
TabPage tp1 = new TabPage();
TabPage tp2 = new TabPage();
Button btn1 = new Button();
Button btn2 = new Button();
btn1.Text = "Button1";
btn2.Text = "Button2";
Form2 f2 = new Form2();
tp1.Controls.Add(btn1);
tp2.Controls.Add(btn2);
tb.Controls.Add(tp1);
tb.Controls.Add(tp2);
f2.Controls.Add(tb);
f2.Show();
}
后半段听不懂你的意思。大概是你想两窗体互相操作吧?这样的话,在FROM1的BUTTON1事件里把this赋给From2的一个变量。
比如你可以f2.f1 = this;然后你就可以在From2里直接f1.show(),就可以显示From1了。
当然这样的话,你先得在FROM1里定义From1 f1;