3

私は2つの異なるC#プログラムを持っていますが、どちらにもフォームアプリケーションが含まれています。

これら2つのプログラムの両方をそのうちの1つで実行するにはどうすればよいですか?

既存のプロジェクトオプションを使用して、プログラム2にprogr1を追加しました。次に、program2
を実行します。
プログラム2が実行され、フォームアプリケーションがポップアップ表示されたら、プログラム1とこのプロジェクトのフォームアプリケーションも(自動的に)アクティブ化してポップアップ表示します。

また、あるプログラムから別のプログラムのすべてのメソッドにアクセスしたいと思います。

ご協力いただきありがとうございます。

4

4 に答える 4

3

それらが実際に別々のプロセスである場合は、プロセス間通信を調べる必要があります。これを行うにはさまざまなオプションがありますが、個人的には、アプリケーション間で話し合うためにWCFを検討します。

しかし、それはこれらが別々のプロセスであることを前提としています。あなたが考えるかもしれないもう一つのことは、複数のウィンドウを起動する1つのプロセスを持っていることです。この場合、各ウィンドウへの参照を簡単に渡し、他のウィンドウからメソッドとプロパティを呼び出すことができます。

于 2011-03-16T15:30:08.953 に答える
1

できることのほとんどは、Process.Startを使用して一方を他方から開始することですが、もう一方のアプリケーションの一方のメソッドにアクセスすることはできません。

プロセス間で通信する方法はたくさんありますが、そのうちのいくつかをここで説明します。

于 2011-03-16T15:29:56.890 に答える
0

おそらく、同じアプリケーションドメインで両方を実行することを検討できます。

http://msdn.microsoft.com/en-us/library/ms173138(v=vs.80).aspx

于 2011-03-16T15:40:02.847 に答える
0

Program1の構造を変更したい場合は、要件とアプリケーションへのアクセスに応じて、いくつかのオプションがあります。

  • Program1のフォームロジックをメイン関数から分離し、別のDLLに配置します

  • Program2でProgram1のDLLを参照し、必要に応じてフォームとそのメソッドを制御します。

それ以外の場合は、プロセス間通信技術を使用します。

于 2011-03-16T15:36:59.693 に答える