Моя программа имеет несколько форм. Пятая и последняя форма имеет кнопку, которая при нажатии закрывает приложение с помощью метода Application.Exit(). Однако каждый раз, когда я нажимаю кнопку, я получаю сообщение об ошибке «не могу получить доступ к расположенному объекту», окружающему этот код в моей первой форме:
frm2 f2 = new frm2();
this.Hide();
f2.ShowDialog();
this.Show();
Компилятор указывает, что оператор this.show()
является проблемой. Может ли кто-нибудь объяснить, почему я получаю эту ошибку и как ее исправить?
this.Hide();
, на которую выбрасывается исключение? Возможно, форма, которую вы показываете в окончательной форме из (this
), уже удалена. Кажется, что в этом примере отсутствует много кода, поэтому сложно диагностировать точную проблему. - person dash   schedule 01.12.2012Application.DoEvents
где-нибудь в своем коде? - person dcreight   schedule 01.12.2012Application.Exit()
? Скорее всего, ваша основная форма будет уничтожена к моменту возвращенияf2.ShowDialog();
. Почему бы вместо этого не проверить DialogResult из ShowDialog и не вызвать Application.Exit в вашей основной форме? - person dash   schedule 01.12.2012