Два приложения WinForms - PullRequest
       5

Два приложения WinForms

3 голосов
/ 16 марта 2011

У меня есть 2 разные C# программы, каждая из которых содержит приложение формы.

Как мне запустить обе эти программы в одной из них?

Я добавил, используяопция существующего проекта, progr1 в программе 2.
Теперь я хочу запустить программу 2.
Когда программа 2 запускается и появляется приложение формы, я хочу также (автоматически) активировать программу 1 и приложение формы из этого проекта.также всплывающее окно.

Я также хотел бы иметь доступ ко всем методам из одной программы в другой.

Спасибо за вашу помощь.

Ответы [ 4 ]

3 голосов
/ 16 марта 2011

Если это действительно отдельные процессы, то вам нужно взглянуть на Межпроцессное взаимодействие .Для этого есть несколько вариантов, лично я бы посмотрел на WCF, чтобы общаться между приложениями.

Но это предполагает, что это отдельные процессы.Еще одна вещь, которую вы могли бы рассмотреть, это просто иметь один процесс, который запускает несколько окон.В этом случае вы можете легко передавать ссылки на каждое окно и вызывать методы и свойства другого.

1 голос
/ 16 марта 2011

Самое большее, что вы можете сделать - это запустить один запуск другого, используя Process.Start , но вы не сможете получить доступ к методам одного из них в другом приложении.

Существует много способов взаимодействия между процессами, некоторые из них обсуждаются здесь .

0 голосов
/ 16 марта 2011

Возможно, вы могли бы рассмотреть возможность их запуска в одном домене приложений.

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

0 голосов
/ 16 марта 2011

Здесь есть несколько опций, если вы хотите изменить структуру Program1, которая зависит от ваших требований и доступа к приложениям.

  • Разделить логику формы Program1 от основной функции и положить его в отдельная DLL

  • Обратитесь к DLL Program1 в Program2 и управляйте формой и ее методами, как хотите.

В противном случае используйте методы межпроцессного взаимодействия.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...