从dll导出自定义表单的问题

时间:2010-04-05 18:08:34

标签: c# visual-studio-2008 exception dll

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

"MyForm inputform = new MyForm();"

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

1 个答案:

答案 0 :(得分:2)

引发错误的行可能不是您在上面显示的行,但可能是其后面的行之一。即,如果您有以下内容:

currentControl.Controls.Add(inputForm);

它不起作用并引发你提到的错误。

相反,使用inputForm.Show(ownerForm)在您需要时显示表单,您应该没问题。表单(顶级控件)无法添加到普通控件,如面板,文本框或图片框。

注意:如果帖子中的行确实引发了错误,那么表单初始化代码中会出现一段引发错误的代码,请检查