在C#中,我有两个表单:mainForm和form1。
class Form1; //...
class mainForm {
//...
void f() {
Form1 form1 = new Form1();
...
}
}
我想等待form1退出并继续mainForm中的以下工作。但我不知道form1是作为进程或线程实现的,以及如何获取其ID。
感谢。
答案 0 :(得分:10)
它既不是。它运行在与其他表单相同的UI线程上,除非你不遗余力地做一些聪明的事情,消息泵处理消息给所有人。
你想做什么?通常将引用保留到第二个表单实例就足以发送消息等
要等待第二个表单完成,请使用ShowDialog()
,或者如果您使用表单ShowDialog(this)
。
答案 1 :(得分:1)
form1在同一主线程上运行,您只需将form1作为模式对话框运行,如
Form1 form1 = new Form1();
form1.ShowDialog(this); //mainForm waits till form1 finishs its work
//extra work in mainForm