| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Delphi: Общие вопросы > Form.Show и Form.ShowModal - разница? |
| Автор: Diver 21.3.2005, 23:25 |
| Для отображение скрытых форм можно использовать два способа: Form.Show и Form.ShowModal. Вопрос: Какая между ними разница и что лучше? |
| Автор: Satana 21.3.2005, 23:36 |
| Если использовать ShowModal то пока ты не закроешь отображаемую форму не сможешь перейти к главной, если используешь Show то можно переключаться между окнами. |
| Автор: drinkOut 21.3.2005, 23:37 |
| Когда ты исподьзуешь метод ShowModal, то вызванная форма становится модальной, т.е. нельзя получить доступ к другим формам приложения, пока эта вызванная форма не закрыта. Трудно дать ответ на твой вопрос "Что лучше?"... Надо просто посмотреть, что лучше подходит под конкретную ситуацию. Добавлено @ 23:40 Satana, опередил... |
| Автор: FRAGNATIC 21.3.2005, 23:41 | ||||
| разница большая когда т используеш ShowModal то тогда программа приостонавливает своё выполнение и ты мож работать ток с той формой которую ты так показал а к главной форме ты не сможеш получить доступ дапустим
сдесь сначало покажется окно и программа будет ждать его закрытия и тока после его закрытия i присвоится значение 10
здесь покажется окно и моментально i присвоится значение 10 ) вообще если надо работать сразу с двумя окнами то лучше просто show если дапустим окно "о программе" то лучше showmodal + можно определит как было закрыто окно (если есть пару кнопок) то в модальном окне можно определить как было закрыто окно нажатием кнопки ОК или НО ) Добавлено @ 23:41 гы опередили оба( |
| Автор: SPrograMMer 21.3.2005, 23:44 | ||
| Когда ты использушь просто Show, у тебя откроется новое окно, и ты сможешь "перепрыгивать" из одного окна во воторое безо всяких ограничений. ShowModal немного другая штука. Она открывает новое окно модальным образом. Что это значит? А то что пока ты не расправишься с эти окном, то есть пока ты его не закроешь, к первому окну ты не вернешься. Как не пытайся. Для примера, вспомни диалог сохранения или открытия файлов в многих программах. Ну так вот Щелкнул ты по кнопке окрыть, выскочило окно, и пока ты не выберешь файл и не скажешь "Окрыть" или "отменя", или закроешь окно "крестиком", к главному окну ты доступа не получишь. Что лучше - решать тебе. ShowModal, обычно используется как раз в диалоговых окнах, когда нужно узнать что нажал пользователь, тогда удобна конструкция вида
Естестно, в твоем диалоге в этом случае должны быть эти кнопки, я имею ввиду Ok, Cancel,Yes, No и др. Добавлено @ 23:45 Млин, какие вы все быстрые... |
| Автор: FRAGNATIC 21.3.2005, 23:48 | ||
добавлю что кнопки должны быть с модальным результатом а это тип TBitBtn у каторой в свойстве modalresult указываеш ок или но и так далее) |