powered by simpleCommunicator - 2.0.57     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Отмена закрытия Child окна MDI приложения
2 сообщений из 2, страница 1 из 1
Отмена закрытия Child окна MDI приложения
    #38171928
Vanovich
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Обнаружил непонятное поведение приложения:

Имеется объект ChildForm
В его обработчике закрытия формы

private void ChildForm_FormClosing(object sender, FormClosingEventArgs e)
{
// Отменяем закрытие формы и делаем ее невидимой
MessageBox.Show("Canceled");
e.Cancel = true;
this.Hide();
}

Так вот, если этот объект является дочерним для другой формы, то вызов из другой формы:

ChildForm.Close(); - сгенерирует сообщение "Canceled", все нормально, форма прячется.
но если еще раз вызвать ChildForm.Close(); - сообщения не будет и форма уничтожится...(IsDisposed = true)

Мало того, если объект ChildForm - не дочерний для какой-нибудь формы ParentForm (ChildForm.MdiParent = ParentForm)
а самостояельная форма - то хоть сколько вызывай ChildFrom.Close() - сообщение будет появляться всегда и разрушения формы не происходит.
Объясните, пожалуйста, почему так происходит..
...
Рейтинг: 0 / 0
Отмена закрытия Child окна MDI приложения
    #38172872
sld
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
sld
Гость
видимо когда форма скрыта событие FormClosing не работает. проверь в отладчике.
а перед ChildFrom.Close() проверяй что ChildFrom visible.
...
Рейтинг: 0 / 0
2 сообщений из 2, страница 1 из 1
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Отмена закрытия Child окна MDI приложения
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]