Откройте новую форму и закройте текущую, не скрывая и не закрывая приложение
Всем привет,
Недавно я наткнулся на то, о чем раньше никогда особо не задумывался, открывая новую форму и закрывая текущую, я обычно просто скрываю текущую и показываю новую форму с помощью метода ShowDialog:
Form2 nextForm = new Form2();<br /> this.Hide();<br /> nextForm.ShowDialog();<br /> this.Close();
Однако на днях я использовал ShowDialog, чтобы действительно получить DialogResult, и подумал, почему бы мне просто не использовать обычный метод show при открытии и закрытии форм, но если я запускаю тот же код, заменяя ShowDialog на Show, приложение закрывается, как только открывается form2.
Используя описанный выше метод showDialog, я предполагаю, что он будет иметь эффект, что если у вас есть форма, ведущая к другой и другой и т. д., Все предыдущие формы все еще будут находиться в памяти и оказывать какое-то влияние на производительность.
Что касается проблемы с использованием стандартного метода Show, то я понимаю, что причина, по которой он закрывает приложение, связана с событием close Form1, если оно будет запущено, то все приложение закроется, я видел, как некоторые люди создают новый процесс для следующей формы, но я не понимаю его на 100%.
Если бы кто-нибудь мог объяснить это, я был бы благодарен, или если бы кто-нибудь мог предложить альтернативное решение, которое было бы здорово.
С Уважением Старший Криспи.