Вертикальное меню в C#
От: Legion1984  
Дата: 01.07.08 12:44
Оценка:
Подскажите плиз, кто-нибудь знает как организовать в С# (Windows form) вертикальное меню наподобие как оно организовано в WinTools Professional (5.5.1)?
Проблема вот в чем: необходимо чтобы при нажатии каждой кнопки этого меню на главной форме появлялись свои для каждого пункта элементы управления, а другие соответственно видны не должны быть. Такая вещь легко организуется с помощью горизонтальных вкладок TabControl (у каждой вкладки как бы своя область для рисования элементов управления), а вот для вертикального меню не смог найти чего то подобного. Если делать простые кнопки, то получается что при нажатии каждой из них — старые элементы делаются невидимыми, а новые соответственно видимыми. Таким образом в плане рисования дизайна получается что элементы управления накладываются друг на друга (фактически рисуются друг на друге), получается путаница и неразбериха (а невидимость срабатывает только призапуске программы, пока рисуешь не получается сделать невидимыми другие элементы, чтоб не мешались). Может кто знает хорошее решение этой проблемы? Подскажите пожалуйста! Ссылка на картинку http://files.rsdn.ru/73520/exmp.PNG

01.07.08 17:24: Перенесено модератором из 'Средства разработки' — Хитрик Денис
c# меню вертикальное меню вертикальное меню c# tabcontrol control
Re: Вертикальное меню в C#
От: divergo  
Дата: 01.07.08 19:49
Оценка:
Суть проблемы неясна.
Допустим имеем три кнопки — создаю три панели, располагаю элементы на них, при запуске делаю только одну видимой (и св-во Dock= Fill), а при надобности меняю, и все работает.
Re[2]: Вертикальное меню в C#
От: Legion1984  
Дата: 02.07.08 05:48
Оценка:
Здравствуйте, divergo, Вы писали:

D>Суть проблемы неясна.

D>Допустим имеем три кнопки — создаю три панели, располагаю элементы на них, при запуске делаю только одну видимой (и св-во Dock= Fill), а при надобности меняю, и все работает.

А что толку от невидимости панели если эта невидимость срабатывает только когда программу запускаешь а для разработчика все элементы как были видны так и остаются? Неудобство то в том что элементы друг на друге приходится рисовать... а так этот способ пока и пытаюсь реализовать — тока не нравится он мне...
Re[3]: Вертикальное меню в C#
От: BokiyIS  
Дата: 02.07.08 06:20
Оценка: +1
Здравствуйте, Legion1984, Вы писали:
L>А что толку от невидимости панели если эта невидимость срабатывает только когда программу запускаешь а для разработчика все элементы как были видны так и остаются? Неудобство то в том что элементы друг на друге приходится рисовать... а так этот способ пока и пытаюсь реализовать — тока не нравится он мне...

Отрисуйте каждую вкладку отдельно в user control.
Re: Вертикальное меню в C#
От: Arto888  
Дата: 04.07.08 06:26
Оценка:
Здравствуйте, Legion1984, Вы писали:


L>Подскажите плиз, кто-нибудь знает как организовать в С# (Windows form) вертикальное меню наподобие как оно организовано в WinTools Professional (5.5.1)?

L>Проблема вот в чем: необходимо чтобы при нажатии каждой кнопки этого меню на главной форме появлялись свои для каждого пункта элементы управления, а другие соответственно видны не должны быть. Такая вещь легко организуется с помощью горизонтальных вкладок TabControl (у каждой вкладки как бы своя область для рисования элементов управления), а вот для вертикального меню не смог найти чего то подобного. Если делать простые кнопки, то получается что при нажатии каждой из них — старые элементы делаются невидимыми, а новые соответственно видимыми. Таким образом в плане рисования дизайна получается что элементы управления накладываются друг на друга (фактически рисуются друг на друге), получается путаница и неразбериха (а невидимость срабатывает только призапуске программы, пока рисуешь не получается сделать невидимыми другие элементы, чтоб не мешались). Может кто знает хорошее решение этой проблемы? Подскажите пожалуйста! Ссылка на картинку http://files.rsdn.ru/73520/exmp.PNG

Esli pobrobovat vertikalni tabcontrol, potom vkladishi zakrot s chem to (naprimer panelem)
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.