一,实现父窗体的隐藏及显现
假设Form1是父窗体,Form2是新的窗体
Form1的按钮button1代码:
private void button1_Click(object sender, EventArgs e)
{
Form2 form2 = new Form2(this);//把form1传给form2
this.Hide();//把自己隐藏了
//form2.ShowDialog();//2种显示方法都可以
form2.Show();
}
Form2的代码:
public partial class Form2 : Form
{
Form1 _form1;
public Form2(Form1 form1)
{
InitializeComponent();
_form1 = form1;
}
private void button1_Click(object sender, EventArgs e)
{
//把自己关闭,并显示Form1
this.Close();
_form1.Show();
}
}
二,多线程关闭窗体
Form1 为欢迎界面, close为关闭按钮,Form 2为主界面
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
th = new Thread(new ThreadStart(StartNewForm));
}
private Thread th;
private void StartNewForm()
{
From1 mf = new From2();
Application.Run(mf);//启动主界面
}
private void close_Click(object sender, EventArgs e)
{
this.Close();//关闭窗体
th.Start();//启动另一个线程
}
}