2014-02-25 60 views
1

我有一個VB.Net程序,我作爲一個獨立的程序發佈。我想向該計劃添加報告。理想情況下,我希望報告是VB.Net格式,我的主程序可以調用並打開,就好像它們是主程序的一部分。所以我不知道如何創建表單,以便他們可以通過主程序打開,我不知道如何調用主程序中添加的表單。vb.net:如何將vb.net表單作爲附件添加到現有程序中?

我不想發佈附加表單,就好像它們是自己的程序一樣。理想情況下,我希望他們看起來像是主程序的一部分,他們只能在主程序中運行。

我想象創建窗體並將它們保存爲DLL或類似的東西,程序可以從特定的目錄讀入,然後打開主程序的子窗體。另外,我希望將附加表單保存爲單個文件。

有人可以請指出我在正確的方向。

謝謝。

+0

聽起來好像會起作用。你有什麼需要幫助的? – Ccorock

+0

有兩種標準的創建報告的方式,Crystal報告(客戶端運行,看起來像你需要的)和SSRS(報告服務,服務器端,使用它很多)。即使您可能會這樣做,也不需要重新發明輪子。如果你喜歡重新發明輪子,首先考慮使用其他人的第三方解決方案,他們也喜歡重新發明輪子。 [如Devexpress](https://www.devexpress.com/Products/NET/Reporting/)。 – Neolisk

回答

0

這是結束碼up working:

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是希望顯示的表單的類名。

0

您可以創建一個名爲MyReports的應用程序並構建該應用程序中的所有表單。然後發佈MyReports應用程序。

然後在「主程序」中引用稱爲MyReports.DLL的DLL。

如果您想創建一個基於該報告,這將是傳承一種新形式......所以,當你添加新的形式ADD - >New Item - >選擇左邊和Inherited FormWindows Forms。您將點擊BROWSE並從MyReports中選擇要使用的表單。我從來沒有親自做過,但它應該根據你的形式創建一個表單。

如果你想簡單地顯示新的應用程序中的報告,這就是實例....

Dim myCoolReport as new MyReports.CoolCoolReport 
myCoolReport.Show 

(僞代碼)

希望幫助

+0

感謝您的建議。但是,如果我編譯我的主程序時不知道DLL,我該如何引用它?我知道如何在創建程序時添加引用,但我基本上想要讀取文件夾中的所有文件或其他內容,並分別打開每個文件。 – user2721815

+0

聽起來像實例化是我需要的,我只需要弄清楚在運行時打開dll的細節。 – user2721815

相關問題