| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Разработка Windows Forms > Закрытие диалога |
| Автор: PaZ1T1V 6.1.2010, 10:36 | ||||
| Доброго времени суток, у меня возникла такая проблема: есть SDI WinForms приложение, есть главная форма MainForm, есть вторая форма, открывается как дочерняя, но, в нее передается ссылка на родительскую форму:
дочерняя форма открывается с главной, как диалог:
при нажатии на закрытие дочерней формы - [X], обрабатывается Form_Closing в дочерней форме, какие то значения меняются на главной форме, но после обработки этих данных форма как бы закрывается и открывается снова, я пробовал обрабатывать DialogResult, ничего не изменилось, подскажите как быть, а вот, собственно и код: private void LoginForm_FormClosing(object sender, FormClosingEventArgs e) { if(this.DialogResult == DialogResult.Cancel) { e.Cancel = true; this.Hide(); } } |
| Автор: jonie 6.1.2010, 12:49 | ||||
|
| Автор: Экскалупатор 6.1.2010, 13:51 | ||
зачем эта строка? ты ж вроде закрывать хотел, а не прятать? |
| Автор: PaZ1T1V 6.1.2010, 14:32 |
| хорошо, да, не правильно пишу, сам понимаю, скажите как правильно это сделать... |
| Автор: Экскалупатор 6.1.2010, 15:10 | ||||
Добавлено через 2 минуты если честно вообще вот это не понимаю:
объясни что ты пытаешься тут сделать? Добавлено через 3 минуты и 1 секунду если ты пытаешься обработать DialogResult то его надо обрабатывать не в дочерней форме, а в форме которая этот диалог создала. Добавлено через 3 минуты и 59 секунд такое ощущение что у тебя в обоих формах жуткая каша. |
| Автор: PaZ1T1V 6.1.2010, 17:50 | ||||||
на this.Close() вылетает исключение, помоему все как нормально: родительская форма
Дочерняя фома конструктор
обработчик закрытия (немного переделал)
видимо надо открывать просто Show - в том же потоке... жалко, я все же хотел диалогом форму эту сделать а не просто TopMost, именно диалогом, чтоб если не закрыл форму ничего другого в форме делать нельзя было.... но да ладно, если никак то никак |
| Автор: Экскалупатор 6.1.2010, 20:31 |
| PaZ1T1V, что то у тебя напутано тут сильно. я все время так делал и все нормально работало. не понимаю зачем тебе нужен обработчик события закрытия формы. |
| Автор: kobra 7.1.2010, 16:39 | ||
если правилно понимаю задачу, то подход не верный. логичнее делать так
|
| Автор: PaZ1T1V 7.1.2010, 18:54 |
| to cobra спасибо большое, я понял как сделать... ЗЫ по идее да, сначала надо залогиниться а потом работать |