[C#] 一个窗口中打开另一个窗口并关闭当前窗口代码
4个回答
展开全部
form1代码
private void button1_Click(object sender, EventArgs e)
{
Form2 f2 = new Form2(this);
f2.Show();
}
form2代码
private Form1 f1;
public Form2(Form1 f)
{
InitializeComponent();
f1 = f;
f1.Hide();
}
private void Form2_FormClosing(object sender, FormClosingEventArgs e)
{
f1.Close();
}
直接关闭的方法我没有实现,还是通过隐藏,在最后同时关闭销毁两个form实现
private void button1_Click(object sender, EventArgs e)
{
Form2 f2 = new Form2(this);
f2.Show();
}
form2代码
private Form1 f1;
public Form2(Form1 f)
{
InitializeComponent();
f1 = f;
f1.Hide();
}
private void Form2_FormClosing(object sender, FormClosingEventArgs e)
{
f1.Close();
}
直接关闭的方法我没有实现,还是通过隐藏,在最后同时关闭销毁两个form实现
展开全部
第一个方法:把窗体隐藏 楼上的实现方法很好
第二个方法:多线程关闭窗体
WecomeForm 为欢迎界面 btn_close为关闭按钮
MainForm 为主界面
public partial class WecomeForm : Form
{
public WecomeForm()
{
InitializeComponent();
th = new Thread(new ThreadStart(StartNewForm));
}
private Thread th;
private void StartNewForm()
{
MainFrom mf = new MainFrom();
Application.Run(mf);//启动主界面
}
private void btn_close_Click(object sender, EventArgs e)
{
this.Close();//关闭窗体
th.Start();//启动另一个线程
}
}
第二个方法:多线程关闭窗体
WecomeForm 为欢迎界面 btn_close为关闭按钮
MainForm 为主界面
public partial class WecomeForm : Form
{
public WecomeForm()
{
InitializeComponent();
th = new Thread(new ThreadStart(StartNewForm));
}
private Thread th;
private void StartNewForm()
{
MainFrom mf = new MainFrom();
Application.Run(mf);//启动主界面
}
private void btn_close_Click(object sender, EventArgs e)
{
this.Close();//关闭窗体
th.Start();//启动另一个线程
}
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你可以把一个窗口隐藏,达到你的效果。
this.Hide();
Form2 f2 = new Form2();
f2.Show();
this.Hide();
Form2 f2 = new Form2();
f2.Show();
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
如果你要关闭的不是启动时的窗体
则代码:this.close();
Form2 f2 = new Form2();
f2.Show();
如果是启动时的窗体,
那么上面的写法会直接退出程序。
鉴于此:应该是隐藏。this.hide();
则代码:this.close();
Form2 f2 = new Form2();
f2.Show();
如果是启动时的窗体,
那么上面的写法会直接退出程序。
鉴于此:应该是隐藏。this.hide();
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询