//父窗体
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
//new一个子窗体,new时,传入被隐藏的控件
Form2 f = new Form2(this.button1);
//显示子窗体
f.Show();
//隐藏控件(按钮)
this.button1.Visible = false;
}
}
// 子窗体
public partial class Form2 : Form
{
//私有变量,保存传入的父窗体控件
private Button b;
public Form2()
{
InitializeComponent();
}
//构造函数
public Form2(Button b)
{
InitializeComponent();
this.b = b;
}
private void button1_Click(object sender, EventArgs e)
{
//此时,b指向父窗体中的button1 Visible设为True即父窗体中的button1可见
b.Visible = true;
//关闭本身
this.Close();
}
}
主窗体上写
DialogResult dialogResult = frm.ShowDialog();
if (DialogResult.OK == dialogResult)
{
/ /这里可以写子窗体返回的一些值
}
子窗体
this.DialogResult.OK;