Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > .NET для новичков > Разные контролы на одной(?) форме


Автор: Antarn 8.7.2008, 18:57
При запуске программы на форме контролы для работы с файлом.

После нужно отобразить уже другие контролы.

Каким образом это лучше сделать ?

Сделать две разные формы ? Удалить старые и добавить новые на одной форме ? Или заранее создать все контролы и играть с "visible" ?

Или еще есть варианты ?

Автор: nikitao 8.7.2008, 19:12
Первое , что мне прикодит в голову - это создать два отдельных контрола на которых разместить одни контролы , а потом другие , а потом просто один контрол менять на другой.

Автор: Unsane 8.7.2008, 19:56
ИМХО, TabControl или SplitContainer(одну из панелей можно убирать с помощью Panel[1/2]Collapsed = true) или 2 разных Panel и играть с visible

Автор: wotker 8.7.2008, 21:17
хочу добавить к сказаному выше. что наибольшей гибкости (в опр. случаях) можно добиться если добавлять контролы динамически. Хотя кода писать надо больше

Автор: Antarn 8.7.2008, 21:50
Спасибо за идеи. На вооружение скорее всего возьму два Panel и буду менять visible.

wotker,  а почему больше ? В сумме же одинаковое число контролов ?  smile 

Автор: nikitao 8.7.2008, 21:54
Цитата(Unsane @  8.7.2008,  20:56 Найти цитируемый пост)
ИМХО, TabControl или SplitContainer(одну из панелей можно убирать с помощью Panel[1/2]Collapsed = true) или 2 разных Panel и играть с visible

Реализация в таком случае действительно проще , но при этом страдает смысловая компонента. 
Контролы , которые сначало отображаются сначало и контролы , которые отображаются позже , каждые в группе обьеденены неким общим смыслом. Поэтому логично было бы обьеденить каждую из этих групп в единый контрол, который будет производить некую работу с пользователем и выдавать результат обратно в приложение. В случае же с TabControl SplitControl мы получаем единую кучу , что не есть гуд.


Цитата(wotker @  8.7.2008,  22:17 Найти цитируемый пост)
хочу добавить к сказаному выше. что наибольшей гибкости (в опр. случаях) можно добиться если добавлять контролы динамически. Хотя кода писать надо больше 

Угу. Или частичная динамика. К примеру в данном случае очень вероятно , что в первой группе контролв задаются определенные параметры (число файлов или выбираются файлы) , а на второй группе контролов динамически выводятся информация об этих файлах , но при этом часть контролов ( к примеру кнопки OK и Cancel) остаются в любом случае.

Добавлено @ 21:57
Цитата(Antarn @  8.7.2008,  22:50 Найти цитируемый пост)
wotker,  а почему больше ? В сумме же одинаковое число контролов ?  smile  


Потому что ручками создать , разместить  и настроить поведение контрола всегда требует большего времени , чем в конструкторе форм его намолевать smile 

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)