| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Общие вопросы по .NET и C# > нужен элемент управления |
| Автор: Bezonik 3.2.2010, 20:46 |
| Здравствуйте! мне необходим совет специалиста, кто знает как я могу реализовать на своем окне программы вот такой компонент, изображенный на рисунке... ![]() т.е. необходимо, чтобы справа появлялась примерно такая дополнительная панель с несколькими вкладками, и убиралась, когда ее сворачивает пользователь.... наверняка вы такие элементы встречали во многих программах ( к прмиеру в том же Visual Studio) кто знает о чем идет речь, буду признателен за ваши советы!!! |
| Автор: Ceiceron 3.2.2010, 21:46 |
| Вообще можно поковыряться в исходных кодах http://www.icsharpcode.net/OpenSource/SD/. А так создаем юзерский контрол, кладем на него табы, разворачиваем их. После чего настраиваем для всего контрола отлов мышки, что бы при наведении выпрыгивал он в нужный размер ширины. Собственно над функцией изменения размера всего контрола больше всего покорпеть и придется, что бы вычислить все необходимые размеры динамически. |
| Автор: Bezonik 3.2.2010, 23:27 |
| Ceiceron, спасибо за совет! может подскажешь как настроить TabControl чтобы хоть соответствовала немного рисунку. дело в том что при изменении положения, меняется сама вкладка, текст вкладки исчезает... может уже сталкивался с такой проблемой, знаешь решение? |
| Автор: Heinzz 3.2.2010, 23:33 | ||
| поместите на форму SplitContainer в левую панель контейнера добавьте еще SplitContainer у которого Orientation=Horizontal добавьте в верхнюю левую панель Button у которого FlatStyle=Flat добавьте в нижнюю левую панель TabControl у которого Dock=Left Alignment=Left добавьте вTabControl необходимые TabPage-ы с картинками из ImageList-а заполните TabPage-и полями по вкусу на кнопку можно повесить splitContainer1.Hide(); - скрывает панельку + ставит на форму кнопочку со стрелочкой чтобы заново открыть панель все табы возможно лучше заполнять динамически. Можно получить именно то что Вы хотите Добавлено через 1 минуту и 40 секунд
|
| Автор: Ceiceron 4.2.2010, 07:58 |
| Bezonik, не помню уж Heinzz, а тут не будет проблемы того, что выскакивающая панель будет сдвигать все содержимое соседней панели? может стоит просто панель использовать? |
| Автор: Heinzz 4.2.2010, 10:46 |
| в Visual Studio панель инструментов именно сдвигает код вправо |
| Автор: Ceiceron 4.2.2010, 12:14 |
| Heinzz, это в том случае если она "пришпилена", а если требуется плавающее состояние? |
| Автор: Bezonik 4.2.2010, 13:37 |
| Heinzz, спасибо за идею, немного пришлось переделать "под себя", но впринципи дельный совет! спасибо |
| Автор: Bezonik 4.2.2010, 15:33 |
| и еще один вопрос, как заполнять ImageList из TabControl? и такой вопрос, как отрегулировать скорость появления элемента TabControl ?? чтобы не моментально появлялся а выезжал |
| Автор: Heinzz 4.2.2010, 20:57 |
наоборот : создаем ImageList и заполняем его значками для кнопок TabControl-a. Там идет пара ключ - картинка. указываем источник значков nashTabControl.ImageList = nashImageList; каждому TabPage назначаем ImageKey - тот ключ что мы указывали в ImageList |
| Автор: Bezonik 8.2.2010, 20:31 |
| а как же все-таки отрегулировать скорость появления элемента TabControl ?? |