Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Общие вопросы по .NET и C# > Как организовать на одной форме анкету?


Автор: medos 31.5.2006, 11:44
Нужно сделать около 30 вопросов с разными вариантами ответа на них. Знаю только способ множества элементов, которые будут то видимыми, то невидимыми.

Может быть есть способ попроще, как это сделать? 

Автор: ivashkanet 31.5.2006, 11:48
А шаблон:
LabelВопрос
сheckboxОтвет1
сheckboxОтвет2
сheckboxОтвет3
А потом меняешь свойства текст у них в рантайме 

Автор: Prehistorik 1.6.2006, 08:48
Тоже конечно же вариант с огромным количеством контролов, но без виз/инвиз... Использовать табконтрол.... 

Автор: mr.DUDA 1.6.2006, 09:26
Создай на каждый вопрос по UserControl-у, куда кидай всё что нужно для вопроса (label, чекбоксы, кнопку, обработку "правильно/неправильно"), а на главной форме показывай только 1 юзерконтрол в зависимости от текущего вопроса; как только перешёл на следующий вопрос - удаляй юзерконтрол и создававй/показывай следующий. 

Автор: Prehistorik 1.6.2006, 11:18
mr.DUDA, по-моему, это уже перебор... На мой взгляд использовать свой юзерконтрол логично, когда уверен, что будешь реюзить его... 

Автор: mr.DUDA 1.6.2006, 12:38
Цитата(Prehistorik @  1.6.2006,  10:18 Найти цитируемый пост)
mr.DUDA, по-моему, это уже перебор... На мой взгляд использовать свой юзерконтрол логично, когда уверен, что будешь реюзить его...

Не только. Иногда кусок визуальной части и кода удобнее вынести в отдельный класс, только для того чтобы не сваливать всё в одну форму. И поддерживать такой код легче, и работать с одним композитным контролом проще чем с 10-ю мелкими (текстбоксами, лейблами и т.п.). 

Автор: Prehistorik 1.6.2006, 13:01
Хм... Кстати правда... Но всё равно... Лучше уж тага 
Код

#region RegionName
#endregion


использовать  

Автор: Exception 2.6.2006, 01:07
Если у определённой части User Interface есть своя собственная логика взаимодействия, бывает логичным выделить эту часть в отдельный UserControl, и отдельно её maintain'ить. 

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