C# DLL方法需要等待窗体发回引用变量,然后才能继续

C# DLL方法需要等待窗体发回引用变量,然后才能继续,c#,winforms,C#,Winforms,我有一个dll,其中包含一个方法,该方法显示一个窗体,并将一个对象和两个引用变量传递给它: public void MyMethod(..variables, ref DataString, ref DataCount) { // Code to create object.. Form myForm = New Form(MyObject, ref DataString, ref DataCount); myForm.Show(); } 但是,我不希望该方法关闭,直

我有一个dll,其中包含一个方法,该方法显示一个窗体,并将一个对象和两个引用变量传递给它:

public void MyMethod(..variables, ref DataString, ref DataCount) 
{
    // Code to create object..
    Form myForm = New Form(MyObject, ref DataString, ref DataCount);
    myForm.Show();
}
但是,我不希望该方法关闭,直到用户在“myForm”上完成了大量工作,并且我知道已填充了引用变量

让MyMethod等待用户完成表单后再退出的最佳方法是什么?

只需使用

myForm.ShowDialog();

这将迫使
MyMethod
等待
myForm
关闭。

您确认表单是模态的吗?谢谢。这是有效的。我肯定我试过了!我认为在myForm完成所有处理之前(无论多么复杂和冗长),绝对不会有更多的代码在“MyMethod”中运行,这是正确的吗“?完成。当我通过COM接口实例化表单时,我想我会感到困惑,我认为ShowDialog需要一个父表单。有时它就在你面前,你看不到它,或者你尝试过,但没有意识到它有效!这些是最严重的错误!”!