| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Delphi: Для новичков > Разница между ModalResult формы и кнопки |
| Автор: Aleks26 1.4.2010, 20:22 |
| В учебнике сказано, что свойство ModalResult для кнопки на форме, отличное от mrNone, при нажатии на кнопку заносится в свойство ModalResult формы и в результате модальная форма закрывается. У меня есть следующий обработчик события: procedure TfrmListComp2.btnFrm2ToFrm1Click(Sender: TObject); begin btnFrm2ToFrm1.ModalResult:=mrCancel; frmListComp1.Show; end; Но при первом прохождении через него ModalResult для формы frmListComp2 остается нулевым и форма не закрывается. Только при попытке вновь на нее перейти, получив предупреждение о видимой модальной форме, нажав OK, я при следующем нажатии на btnFrm2ToFrm1 это свойство уже равно 2 и модальная форма закрывается без проблем. Значит, ModalResult для кнопки передается в одноименное свойство формы не сразу, а только при втором обращении? Потому что, присваивая mrCancel сразу в свойство формы, она закрывается сразу. |
| Автор: Frees 1.4.2010, 20:27 |
| потомучто при первом нажатии у кнопки ModalResult mrNone - форма не закрылась при клике втрой раз она уже mrCancel и форма закрылаь. что не так ModalResult из кнопки в форму передается при ее нажатии событие клика вызывается после этого смотри исходники там все ответы есть |
| Автор: Grag 2.4.2010, 08:38 |
| При проектировании нужно сразу определять чему будет равно свойство кнопки ModalResult, а в вызывающей форме определять уже возвращаемый результат при закрытии модального окна... |