日期:2014-05-18 浏览次数:21172 次
public partial class Form1 : Form
{
private void button1_Click(object sender, EventArgs e)
{
Form2 frm2 = new Form2(this);
frm2.Show();
}
}
public partial class Form2 : Form
{
Form1 form1;
public Form2(Form1 f1)
{
InitializeComponent();
form1 = f1;
}
System.Windows.Forms.TabPage tabPage1=new System.Windows.Forms.TabPage();
form1.tabControl1.Controls.Add(this.tabPage2);
form1.tabControl1.Controls.Add(this.tabPage3);
form1.tabControl1.Location = new System.Drawing.Point(348, 207);
form1.tabControl1.Name = "tabControl1";
form1.tabControl1.SelectedIndex = 0;
form1.tabControl1.Size = new System.Drawing.Size(200, 100);
form1.tabControl1.TabIndex = 11;
form1.tabControl1.Controls.Add(this.tabPage1);
------解决方案--------------------
在from1中写一个增加选项卡的方法,publick void Cread(){//你的代码}
//弹出子窗体
private void button1_Click(object sender, EventArgs e)
{
Form2 frm2 = new Form2(this);
frm2.Show();
}
子窗体:
Form1 form1;
public Form2(Form1 f1)
{
InitializeComponent();
form1 = f1;
}
在需要添加选项卡时调用主窗体的方法:form1.Cread();
------解决方案--------------------
把父窗口的引用传给子窗口
并且父窗口控件设置成公共
这样子窗口就可以控制了
------解决方案--------------------
使用委托呀!
MainForm:
/// <summary>
/// 假设你是在这个按钮事件打开子窗体的
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void btn1_Click(object sender, EventArgs e)
{
Form2 frm = new Form2();
frm.AddTabPageEvent += new Form2.AddTabPageHandler(frm_AddTabPageEvent);
frm.ShowDialog();
}
void frm_AddTabPageEvent()
{
//写你的tabpage增加方法
}