C# 从dll导出自定义表单时出现问题
我正在处理一个应用程序,所以我写了一个dll,其中包含一个表单,还有一些额外的工作和方法。因此,在我的程序开始时,线程启动这个表单(从我的dll)来获取一些信息,然后隐藏它,初始化一些组件和应用程序表单,然后显示它。当线程到达定义导出表单的新实例的行时C# 从dll导出自定义表单时出现问题,c#,visual-studio-2008,exception,dll,C#,Visual Studio 2008,Exception,Dll,我正在处理一个应用程序,所以我写了一个dll,其中包含一个表单,还有一些额外的工作和方法。因此,在我的程序开始时,线程启动这个表单(从我的dll)来获取一些信息,然后隐藏它,初始化一些组件和应用程序表单,然后显示它。当线程到达定义导出表单的新实例的行时 "MyForm inputform = new MyForm();" 它抛出一个名为“顶级控件无法添加到控件”的异常。所以我不知道该怎么办?!!。我试着从dll源代码中获取表单的代码,并将其放入主程序中,它就可以工作了。但我仍然想知道发生了什么
"MyForm inputform = new MyForm();"
它抛出一个名为“顶级控件无法添加到控件”的异常。所以我不知道该怎么办?!!。我试着从dll源代码中获取表单的代码,并将其放入主程序中,它就可以工作了。但我仍然想知道发生了什么,以及是什么阻碍了我的应用程序从dll运行该表单。
谢谢。引起错误的那一行可能不是上面显示的那一行,但很可能是它后面的那一行。也就是说,如果您有以下情况:
currentControl.Controls.Add(inputForm);
它将不起作用,并引发您提到的错误
相反,可以使用inputForm.Show(ownexper)
在需要时显示表单,这样就可以了。无法将窗体(顶级控件)添加到普通控件,如面板、文本框或图片框
注意:如果您文章中的行确实引发了错误,那么表单初始化代码中有一段引发错误的代码,请检查那里我检查了应用程序中的代码行,然后运行它,没有任何更改。突然间,它毫无例外地运行良好。我真的对发生的事情感到沮丧,在我发布问题之前,我尝试了数千次,但都没有成功。我不知道发生了什么,你知道吗?