Модераторы: gambit, Partizan
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> "Псевдослои" контролов на форме 
V
    Опции темы
DenwerD
Дата 22.1.2009, 14:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 21
Регистрация: 27.3.2008

Репутация: нет
Всего: нет



Доброго времени суток.

Преамбула:
Хочу реализовать интерфейс для отображения настроек как в uTorrent. Кто не знает или не понял, то
там:
TreeView в котором в качестве узлов - названия групп настроек ( соединение, кэширование и т.д.). При щелчке на одном узле дерева справа отображаются различные контролы нужные для ввода настроек раздела.

Как мне кажется это можно реализовать:
1 Насоздавать все нужные контролы, а потом играться свойством Visible для каждого контрола в зависимости от выбранного раздела.
2 Создавать динамически контролы, помещать их в какой либо контейнер ( один раздел - один контейнер с контролами) и менять у контейнера Visible.

Или ....... ?????

Подскажите пожалуйста, как можно это релизовать. Может быть кто уже делал? поделитесь опытом.





PM MAIL   Вверх
nagg
Дата 22.1.2009, 18:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 112
Регистрация: 6.1.2008
Где: Minsk

Репутация: нет
Всего: 4



На каждый нод настроек сделайте UserControl, на который накидайте нужные контролы, а потом на область справа при щелчке на нод кидаете нужный UserControl (например на панельку за-Dock-Fill-ить). Ибо накидать все-все контролы всех настроек и управлять только их видемостью - сойдёте с ума от такого индийского кода
--------------------
I am the State...
PM MAIL WWW ICQ Skype   Вверх
DenwerD
Дата 23.1.2009, 10:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 21
Регистрация: 27.3.2008

Репутация: нет
Всего: нет



Цитата(nagg @ 22.1.2009,  18:50)
На каждый нод настроек сделайте UserControl, на который накидайте нужные контролы, а потом на область справа при щелчке на нод кидаете нужный UserControl (например на панельку за-Dock-Fill-ить). Ибо накидать все-все контролы всех настроек и управлять только их видемостью - сойдёте с ума от такого индийского кода

Согласен что вариант номер раз попахивает индийцами. А насчёт UserControl, это в принципе второй вариант ( я имел ввиду не UserControl а Panel  ), только вот про докинг забыл. Нада не только  докировать, но и менять видимость, мне так кажется
Так в принципе и сделаю.

Спасибо большое что не прошли мимо и посоветовали.
PM MAIL   Вверх
QryStaL
Дата 23.1.2009, 10:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Intellectual feast
**


Профиль
Группа: Участник
Сообщений: 914
Регистрация: 30.11.2005

Репутация: 3
Всего: 32



DenwerD, взять TabControl, на каждую закладку группу настроек, по щелчке на узле в TreeView - выделять соответствующую закладку (+ можно еще скрыть корешки)


--------------------
I don't need a reason being who I am...
PM MAIL ICQ   Вверх
DenwerD
Дата 23.1.2009, 10:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 21
Регистрация: 27.3.2008

Репутация: нет
Всего: нет



Списибо, QryStaL. Тоже вариант.

Блин, теперь другая проблема. Что выбрать? TabControl или UserControl (Критерии выбора: занимаемы объём памяти). 

Мое мнение такое:


UserControl займёт меньше памяти ибо имеет меньший функционал чем TabControl и отрисовка данного контейнера я думаю займёт меньше времени.

Поправте если я не прав.
PM MAIL   Вверх
nagg
Дата 23.1.2009, 11:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 112
Регистрация: 6.1.2008
Где: Minsk

Репутация: нет
Всего: 4



Госпади, ну и проблемы у вас, или у вас там такое число контролов что вы заметите разницу?
Каждая страница TabControll'а - по сути UserControl
--------------------
I am the State...
PM MAIL WWW ICQ Skype   Вверх
DenwerD
Дата 23.1.2009, 11:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 21
Регистрация: 27.3.2008

Репутация: нет
Всего: нет



Цитата(nagg @ 23.1.2009,  11:45)
Госпади, ну и проблемы у вас, или у вас там такое число контролов что вы заметите разницу?
Каждая страница TabControll'а - по сути UserControl

Да в приципе проблемы нет. Просто я себе взял за правило прежде чем что то сделать ( в рамках кодописания) нужно подумать: "Что будет быстрее"?. Вот по этому и спрашиваю.

Добавлено через 43 секунды
Всем спасибо. Вопрос закрыт.
PM MAIL   Вверх
THandle
Дата 23.1.2009, 22:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Хранитель Клуба
Group Icon
Награды: 1



Профиль
Группа: Админ
Сообщений: 3639
Регистрация: 31.7.2007
Где: Moscow, Dubai

Репутация: 1
Всего: 372



Цитата(DenwerD @  23.1.2009,  11:59 Найти цитируемый пост)
Всем спасибо. Вопрос закрыт. 



M
THandle
Не забываем в таком случае помечать тему решенной.

PM   Вверх
Любитель
Дата 25.1.2009, 18:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Программист-романтик
****


Профиль
Группа: Комодератор
Сообщений: 3645
Регистрация: 21.5.2005
Где: Воронеж

Репутация: нет
Всего: 92



Цитата(DenwerD @  23.1.2009,  11:59 Найти цитируемый пост)
Просто я себе взял за правило прежде чем что то сделать ( в рамках кодописания) нужно подумать: "Что будет быстрее"?.

Сорри за вообщем-то оффтоп - но выкиньте лучше это правило. Преждевременная оптимизация - это зло. Тем более оптимизация ГУИ (если у вас не мегасложный гуи). Оптимизировать надо тогда, когда это надо. Когда реально встаёт проблема производительности. И, конечно, не всё подряд, а то, что действительно даст прирост производительности (привыкаем пользоваться профайлерами).


--------------------
PM MAIL ICQ Skype   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Прежде чем создать тему, посмотрите сюда:
mr.DUDA
THandle

Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов.
Что делать если Вам помогли, но отблагодарить помощника плюсом в репутацию Вы не можете(не хватает сообщений)? Пишите сюда, или отправляйте репорт. Поставим :)
Так же не забывайте отмечать свой вопрос решенным, если он таковым является :)


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, mr.DUDA, THandle.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Разработка Windows Forms | Следующая тема »


 




[ Время генерации скрипта: 0.1047 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.