簡體   English   中英

C#Winforms應用程序打開第二個Winforms應用程序

[英]C# Winforms Application To Open a Second Winforms Application

我有一個小編寫的應用程序需要使用/合並到大約6個更大的部分。 理想情況下,我希望能夠從每個獨立應用程序中打開這個較小的部分,而不是將代碼添加到每個部分。 如果只需要在一個應用程序中進行更改,這將允許更容易的維護。

我看了,但我似乎無法弄清楚如何從一個內部打開第二個winform應用程序。 任何幫助都會很棒。

謝謝

2個選項。

1)如果這個小應用程序可以獨立存在,這意味着它可以以一種有用的方式執行而不會被父應用程序生成,那么使用Process.Start() 生成此進程的應用程序可能無法在部分信任環境中運行。

Process.Start("notepad.exe");

2)如果應用程序僅在父應用程序的上下文中有用,比如通過給定對象或來自其他應用程序的其他參數,請考慮重構小應用程序以允許父應用程序引用該表單的項目。 然后,您的父應用程序可以簡單地創建表單的新實例並顯示它:

var childForm = new SmallAppForm();
childForm.Owner = this; //the child window will close when its owner does.
childForm.Show();

雖然代碼更多,但實現起來通常更容易,更簡單。 該表單也可以從應用程序的其他地方訪問和控制,並且可以實現其他功能,而無需處理跨進程通信的相當混亂的業務。

我希望這個庫是一個獨立的項目,您可以從其他項目中添加引用。 比產生兒童過程更清潔。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM