2011-01-05 12 views
2

私は、使用する必要がある/書かれた小さなアプリケーションが約6個の大きな部分に組み込まれています。理想的には、それぞれのコードにコードを追加するのではなく、個々のスタンドアロンアプリケーションからこの小さな部分を開くことができるようにしたいと考えています。これにより、1つのアプリケーションでのみ必要な変更があった場合のメンテナンスが容易になります。C#Winformsアプリケーション2番目のWinformsアプリケーションを開く

私は見ましたが、私は2番目のwinformアプリケーションを内部からどのように開くことができないのか分かりません。どんな助けも素晴らしいだろう。私はこのあなたが他のプロジェクトからの参照を追加別のプロジェクトのライブラリ作るために見てね

おかげ

+0

Process.Start:http://msdn.microsoft.com/en-us/library/system.diagnostics.process.start(v=VS.100).aspx –

答えて

2

2つのオプション。

1)この小さなアプリを単独で使うことができます。つまり、親アプリによって生成されずにいくつかの便利な方法で実行できます。を使用します。このプロセスを起動するアプリケーションは、部分信頼環境では実行できない場合があります。

Process.Start("notepad.exe"); 

2)アプリは、親アプリケーションのコンテキスト内でのみ有用であれば、他のアプリからのオブジェクトまたは他の引数を与えられていることで言うには、フォームのプロジェクトがによって参照できるようにするために小さなアプリをリファクタリングを検討親アプリ。次に、あなたの親のアプリは、単純に、フォームの新しいインスタンスを作成し、それを表示することができます。

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

それはより多くのコードですが、それが実現し、一般的に、より簡単かつ確実なのです。フォームはまた、アプリケーション内の他の場所からアクセスしたり制御したりすることができます。また、プロセス間通信のかなり面倒なビジネスに対処することなく、他の機能を実装することもできます。

2

。子プロセスを生成するよりもはるかにクリーンです。

関連する問題