当一个新表格时,我会得到一个流程或线程吗?

时间:2009-08-12 07:04:25

标签: c#

在C#中,我有两个表单:mainForm和form1。

class Form1; //...
class mainForm {
    //...
    void f() {
        Form1 form1 = new Form1();
        ...
    }
}

我想等待form1退出并继续mainForm中的以下工作。但我不知道form1是作为进程或线程实现的,以及如何获取其ID。

感谢。

2 个答案:

答案 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