我有一个VB.Net程序,我作为独立程序发布。我想向该计划添加报告。理想情况下,我希望报告是VB.Net表单,我的主程序可以调用和打开,就像它们是主程序的一部分一样。所以我不知道如何创建表单,以便主程序可以打开它们,我不知道如何从主程序调用添加的表单。
我不想在表单上发布添加内容,就好像它们是自己的程序一样。理想情况下,我希望他们看起来和行为好像他们是主程序的一部分,他们只能在主程序内运行。
我正在想象创建表单并将它们保存为DLL或类似的程序可以从特定目录中读取,然后作为主程序的子表单打开。此外,我希望将表单添加为单个文件。
有人可以指出我正确的方向。
感谢。
答案 0 :(得分:0)
您可以创建一个名为MyReports的应用程序,并在该应用程序中构建所有表单。然后发布MyReports应用程序。
然后在“主程序”中引用名为MyReports.DLL
的DLL。
如果您要根据将继承的报告创建新表单...那么当您添加新表单ADD
- > New Item
- >选择左侧的Windows Forms
和Inherited 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是要显示的表单的类名。