C#线程生命周期,在窗体(设Form1)用线程启动另一窗体(设Form2)后,Form2闪现一下就关闭了
答案:3 悬赏:0 手机版
解决时间 2021-04-07 21:20
- 提问者网友:沉默的哀伤
- 2021-04-07 11:22
C#线程生命周期,在窗体(设Form1)用线程启动另一窗体(设Form2)后,Form2闪现一下就关闭了
最佳答案
- 五星知识达人网友:千杯敬自由
- 2021-04-07 13:01
方案一:
private void btn_Click( ... )
{
Form2 form=new Form2();//Form2是新建的另外一个窗体
form.Show();
}
方案二:
private void button1_Click(object sender, EventArgs e)
{
Thread a = new Thread(new ThreadStart(fs));
a.Start();
}
delegate void af();
private void fs()
{
this.Invoke(new af(afd));
}
private void afd()
{
Form2 f = new Form2();
f.Show();
}
追问:感谢您的回答。
针对方案一:我在末尾备注说的很清楚了
针对方案二:不知您是否试过,我试过也是不行的
追答:我在百度上回复的帖子都会调试通过才会回答的,
这样吧,你把你的出错信息发出来,我来看一下是怎么回事。
private void btn_Click( ... )
{
Form2 form=new Form2();//Form2是新建的另外一个窗体
form.Show();
}
方案二:
private void button1_Click(object sender, EventArgs e)
{
Thread a = new Thread(new ThreadStart(fs));
a.Start();
}
delegate void af();
private void fs()
{
this.Invoke(new af(afd));
}
private void afd()
{
Form2 f = new Form2();
f.Show();
}
追问:感谢您的回答。
针对方案一:我在末尾备注说的很清楚了
针对方案二:不知您是否试过,我试过也是不行的
追答:我在百度上回复的帖子都会调试通过才会回答的,
这样吧,你把你的出错信息发出来,我来看一下是怎么回事。
全部回答
- 1楼网友:行雁书
- 2021-04-07 15:32
form.show() 改成 form.ShowDialog()
- 2楼网友:过活
- 2021-04-07 14:19
Form f1 = new Form();
f1.ShowDialog();
这样行吗?
追问:试过了,不可以
f1.ShowDialog();
这样行吗?
追问:试过了,不可以
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯