Как открыть приложение Windows Form из другого приложения Windows Form - PullRequest
0 голосов
/ 16 сентября 2018

Привет, я новичок в программировании и застрял в простой проблеме.У меня есть два проекта оконных форм: WindowsFormsApp1 и WindowsFormsApp2, и мне нужно открыть второй с помощью кнопки в одной, учитывая, что они имеют несколько форм, мне нужно передавать переменные из одной в другую, и когда я закрываю2, мне нужно снова открыть 1.Но я действительно понятия не имею, как это сделать, и я не могу ничего найти в Интернете.

Ответы [ 3 ]

0 голосов
/ 16 сентября 2018

Ссылка на вторичный проект приложения из вашего основного проекта.Кнопка в вашем главном проекте может затем закрыть или скрыть окна вашего основного проекта и вызвать метод из вашего второго проекта.Возможно, вы захотите предоставить конкретный метод для этой цели, чтобы упростить передачу переменных.Когда этот метод вернется, снова откройте (или откройте) основной интерфейс.

Примечание: если это нужно сделать обоими способами, это не сработает - у вас не может быть циклических ссылок.В таком случае вам может потребоваться запустить двоичные файлы приложений, возможно, используя Process.Start.Недостатком является то, что вам необходимо организовать передачу данных между ними с помощью аргументов командной строки.

0 голосов
/ 16 сентября 2018
  1. Почему бы не сделать их по одному решению?Вы можете сделать это, щелкнув правой кнопкой мыши свое решение в «Обозревателе решений», затем «Добавить» и «Новый проект», или вы можете попробовать «Существующий проект», вы должны выбрать файл «.csproj» в каталоге вашего второго проекта.,После добавления он должен появиться в вашем «Обозревателе решений» со всеми файлами, похожими на другой проект.После этого вы можете найти «Ссылки» в вашем проекте в «Обозревателе решений».Щелкните правой кнопкой мыши на нем и выберите «Добавить ссылку», затем в разделе «Проект» вы найдете свой второй проект, а затем «Добавить» его.Затем, набрав "using SecondProjectName;"вы будете ссылаться на него, а затем вы можете использовать классы из вашего второго проекта!Надеюсь, это помогло!Но если ваш класс формы является «внутренним», вы не сможете использовать код из него, потому что «внутренний» делает его таким, чтобы код мог использоваться только в конкретном проекте.

  2. Другим способом является использование "Process.Start (@" SecondProjectExeFilePath ");".Знак @ означает, что в строке есть экранирующие символы, такие как /, \ и т. Д. Вы можете прочитать больше на "docs.micosoft.com":)

0 голосов
/ 16 сентября 2018

Вы можете запустить другое приложение, используя Process.Start("OtherApplication.exe"). Как только ваше второе приложение скомпилировано, введите путь к файлу .exe, и все готово.

Вот документация для Process.Start (): https://docs.microsoft.com/en-us/dotnet/api/system.diagnostics.process.start?redirectedfrom=MSDN&view=netframework-4.7.2#overloads

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