![]() |
Модераторы: gambit, Partizan |
![]() ![]() ![]() |
|
DenwerD |
|
|||
Новичок Профиль Группа: Участник Сообщений: 21 Регистрация: 27.3.2008 Репутация: нет Всего: нет |
Доброго времени суток.
Преамбула: Хочу реализовать интерфейс для отображения настроек как в uTorrent. Кто не знает или не понял, то там: TreeView в котором в качестве узлов - названия групп настроек ( соединение, кэширование и т.д.). При щелчке на одном узле дерева справа отображаются различные контролы нужные для ввода настроек раздела. Как мне кажется это можно реализовать: 1 Насоздавать все нужные контролы, а потом играться свойством Visible для каждого контрола в зависимости от выбранного раздела. 2 Создавать динамически контролы, помещать их в какой либо контейнер ( один раздел - один контейнер с контролами) и менять у контейнера Visible. Или ....... ????? Подскажите пожалуйста, как можно это релизовать. Может быть кто уже делал? поделитесь опытом. |
|||
|
||||
nagg |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 112 Регистрация: 6.1.2008 Где: Minsk Репутация: нет Всего: 4 |
На каждый нод настроек сделайте UserControl, на который накидайте нужные контролы, а потом на область справа при щелчке на нод кидаете нужный UserControl (например на панельку за-Dock-Fill-ить). Ибо накидать все-все контролы всех настроек и управлять только их видемостью - сойдёте с ума от такого индийского кода
--------------------
I am the State... |
|||
|
||||
DenwerD |
|
|||
Новичок Профиль Группа: Участник Сообщений: 21 Регистрация: 27.3.2008 Репутация: нет Всего: нет |
Согласен что вариант номер раз попахивает индийцами. А насчёт UserControl, это в принципе второй вариант ( я имел ввиду не UserControl а Panel ), только вот про докинг забыл. Нада не только докировать, но и менять видимость, мне так кажется Так в принципе и сделаю. Спасибо большое что не прошли мимо и посоветовали. |
|||
|
||||
QryStaL |
|
|||
![]() Intellectual feast ![]() ![]() Профиль Группа: Участник Сообщений: 914 Регистрация: 30.11.2005 Репутация: 3 Всего: 32 |
DenwerD, взять TabControl, на каждую закладку группу настроек, по щелчке на узле в TreeView - выделять соответствующую закладку (+ можно еще скрыть корешки)
-------------------- I don't need a reason being who I am... |
|||
|
||||
DenwerD |
|
|||
Новичок Профиль Группа: Участник Сообщений: 21 Регистрация: 27.3.2008 Репутация: нет Всего: нет |
Списибо, QryStaL. Тоже вариант.
Блин, теперь другая проблема. Что выбрать? TabControl или UserControl (Критерии выбора: занимаемы объём памяти). Мое мнение такое: UserControl займёт меньше памяти ибо имеет меньший функционал чем TabControl и отрисовка данного контейнера я думаю займёт меньше времени. Поправте если я не прав. |
|||
|
||||
nagg |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 112 Регистрация: 6.1.2008 Где: Minsk Репутация: нет Всего: 4 |
Госпади, ну и проблемы у вас, или у вас там такое число контролов что вы заметите разницу?
Каждая страница TabControll'а - по сути UserControl --------------------
I am the State... |
|||
|
||||
DenwerD |
|
|||
Новичок Профиль Группа: Участник Сообщений: 21 Регистрация: 27.3.2008 Репутация: нет Всего: нет |
Да в приципе проблемы нет. Просто я себе взял за правило прежде чем что то сделать ( в рамках кодописания) нужно подумать: "Что будет быстрее"?. Вот по этому и спрашиваю. Добавлено через 43 секунды Всем спасибо. Вопрос закрыт. |
|||
|
||||
THandle |
|
|||
![]() Хранитель Клуба ![]() Награды: 1 Профиль Группа: Админ Сообщений: 3639 Регистрация: 31.7.2007 Где: Moscow, Dubai Репутация: 1 Всего: 372 |
||||
|
||||
Любитель |
|
|||
Программист-романтик ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 3645 Регистрация: 21.5.2005 Где: Воронеж Репутация: нет Всего: 92 |
Сорри за вообщем-то оффтоп - но выкиньте лучше это правило. Преждевременная оптимизация - это зло. Тем более оптимизация ГУИ (если у вас не мегасложный гуи). Оптимизировать надо тогда, когда это надо. Когда реально встаёт проблема производительности. И, конечно, не всё подряд, а то, что действительно даст прирост производительности (привыкаем пользоваться профайлерами). |
|||
|
||||
![]() ![]() ![]() |
Прежде чем создать тему, посмотрите сюда: | |
|
Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов. Что делать если Вам помогли, но отблагодарить помощника плюсом в репутацию Вы не можете(не хватает сообщений)? Пишите сюда, или отправляйте репорт. Поставим :) Так же не забывайте отмечать свой вопрос решенным, если он таковым является :) Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, mr.DUDA, THandle. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Разработка Windows Forms | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |