vb.net:如何添加vb.net表单作为现有程序的附件?

时间:2014-02-25 23:43:12

标签: vb.net forms

我有一个VB.Net程序,我作为独立程序发布。我想向该计划添加报告。理想情况下,我希望报告是VB.Net表单,我的主程序可以调用和打开,就像它们是主程序的一部分一样。所以我不知道如何创建表单,以便主程序可以打开它们,我不知道如何从主程序调用添加的表单。

我不想在表单上发布添加内容,就好像它们是自己的程序一样。理想情况下,我希望他们看起来和行为好像他们是主程序的一部分,他们只能在主程序内运行。

我正在想象创建表单并将它们保存为DLL或类似的程序可以从特定目录中读取,然后作为主程序的子表单打开。此外,我希望将表单添加为单个文件。

有人可以指出我正确的方向。

感谢。

2 个答案:

答案 0 :(得分:0)

您可以创建一个名为MyReports的应用程序,并在该应用程序中构建所有表单。然后发布MyReports应用程序。

然后在“主程序”中引用名为MyReports.DLL的DLL。

如果您要根据将继承的报告创建新表单...那么当您添加新表单ADD - > New Item - >选择左侧的Windows FormsInherited Form。您将点击BROWSE并从MyReports中选择要使用的表单。我从未亲自完成过,但它应该根据您的表单创建一个表单。

如果您只想在新应用中显示报告,那就是实例化....

Dim myCoolReport as new MyReports.CoolCoolReport
myCoolReport.Show

(伪代码)

希望有所帮助

答案 1 :(得分:0)

这是最终起作用的代码:

Private Sub open_report2()

        Dim oType As System.Type
        Dim oAssembly As System.Reflection.Assembly
        Dim oObject As System.Object
        oAssembly = Reflection.Assembly.LoadFrom("C:\VB.NET\report3\report3\bin\Debug\report3.exe")
        oType = oAssembly.GetType("report3.r1")
        oObject = Activator.CreateInstance(oType)
        oObject.show()
End Sub

open_report2 Sub在我的主程序中。

在我的报告程序中,report3是我的根命名空间,r1是要显示的表单的类名。