В моем приложении с окнами Windows C# есть 5 форм, которые я показываю один за другим. Когда пользователь нажимает на следующей кнопке, код, который я дал это:Методы this.hide() vs this.close()
new Form1().Show();
this.Hide();
Однако я не хочу, чтобы моя текущая форму, чтобы скрыть. Я хочу закрыть его/распорядиться им, чтобы он не потреблял память. Я хочу выпустить его ресурсы, такие как изображения и переменные, которые будут использоваться, как только я закончу это. Для этого я попытался реализации:
new Form1().Show();
this.Close(); //Form 2
, но это просто закрывает обе формы. Я даже попробовал поменять местами позиции выше двух линий:
this.Close();
new Form1().Show();
, но это также делает то же самое.
Как освободить ресурсы одной формы, как только я покончу с этим? потому что моя программа выбрасывает исключения памяти при попытке повторно открыть свою форму 2 с помощью:
new Form2().Show();
this.Hide();
Если вы закрываете основная форма, ваше приложение закроется ... –
Установите параметр (в разделе «Мой проект»), чтобы «выйти, когда последнее окно закрывается» (или что бы это ни было). – Ryan
@minitech Я думаю, что эта опция доступна только в VB.NET, на C# вам придется ее реализовать самостоятельно, если это возможно. –