Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/visual-studio-2008/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 从dll导出自定义表单时出现问题_C#_Visual Studio 2008_Exception_Dll - Fatal编程技术网

C# 从dll导出自定义表单时出现问题

C# 从dll导出自定义表单时出现问题,c#,visual-studio-2008,exception,dll,C#,Visual Studio 2008,Exception,Dll,我正在处理一个应用程序,所以我写了一个dll,其中包含一个表单,还有一些额外的工作和方法。因此,在我的程序开始时,线程启动这个表单(从我的dll)来获取一些信息,然后隐藏它,初始化一些组件和应用程序表单,然后显示它。当线程到达定义导出表单的新实例的行时 "MyForm inputform = new MyForm();" 它抛出一个名为“顶级控件无法添加到控件”的异常。所以我不知道该怎么办?!!。我试着从dll源代码中获取表单的代码,并将其放入主程序中,它就可以工作了。但我仍然想知道发生了什么

我正在处理一个应用程序,所以我写了一个dll,其中包含一个表单,还有一些额外的工作和方法。因此,在我的程序开始时,线程启动这个表单(从我的dll)来获取一些信息,然后隐藏它,初始化一些组件和应用程序表单,然后显示它。当线程到达定义导出表单的新实例的行时

"MyForm inputform = new MyForm();"
它抛出一个名为“顶级控件无法添加到控件”的异常。所以我不知道该怎么办?!!。我试着从dll源代码中获取表单的代码,并将其放入主程序中,它就可以工作了。但我仍然想知道发生了什么,以及是什么阻碍了我的应用程序从dll运行该表单。
谢谢。

引起错误的那一行可能不是上面显示的那一行,但很可能是它后面的那一行。也就是说,如果您有以下情况:

currentControl.Controls.Add(inputForm);
它将不起作用,并引发您提到的错误

相反,可以使用
inputForm.Show(ownexper)
在需要时显示表单,这样就可以了。无法将窗体(顶级控件)添加到普通控件,如面板、文本框或图片框


注意:如果您文章中的行确实引发了错误,那么表单初始化代码中有一段引发错误的代码,请检查那里

我检查了应用程序中的代码行,然后运行它,没有任何更改。突然间,它毫无例外地运行良好。我真的对发生的事情感到沮丧,在我发布问题之前,我尝试了数千次,但都没有成功。我不知道发生了什么,你知道吗?