Форма с кнопкам...

Язык Visual Basic на платформе .NET.

Модераторы: Ramzes, Sebas

kroskros
Продвинутый пользователь
Продвинутый пользователь
Аватара пользователя
 
Сообщения: 176
Зарегистрирован: 01.08.2005 (Пн) 6:59

Форма с кнопкам...

Сообщение kroskros » 19.04.2006 (Ср) 8:09

Не слишком важная задача, но буду весьма признателен,
если кто подскажет...

В какой-то програмке подсмотрел интересный интерфейс:
Простая форма. На ней, практически во всю ширину,
расположены одна под одной узкие кнопки.
При нажатии на любую под ней открывается панель с определенными контроллами, а кнопки, которые распологаются под нажатой смещаются вниз на ширину открывшейся панели. Повторное нажатие кнопки закрывает панель.
Очень удобно при некоторых работах...
Естесственно можно открывать не одну, а несколько панелей,
компонуя рабочее пространство, как необходимо для данной работы...

Вручную я нарисовал форму, поместил, практически на всю ее площадь панель, в нее нарисовал кнопки и пенели. установил у всех
DOCK - "top". Все чУдно работает. алиллуя!..

НО!

Но хочется сделать юзер-контрол с кнопкой и панелью.
ну и на кнопку "прикрутить" открывание/закрывание панели.

Тогда можно было бы рисовать новые формы и размещать на них
этот контрол, наполняя панель необходимыми элементами...

Но ума не хватает сообразить, КАК прописать в событии кнопки Click
изменение положения элементов родительской формы, которые окажутся ниже нажатой кнопки... :/
Max

Thomas
Бывалый
Бывалый
Аватара пользователя
 
Сообщения: 246
Зарегистрирован: 12.11.2005 (Сб) 0:17
Откуда: "Сказочное королевство"

Сообщение Thomas » 19.04.2006 (Ср) 9:02

Привет.

КАК прописать в событии кнопки Click
изменение положения элементов родительской формы, которые окажутся ниже нажатой кнопки...


Я думаю это можно сделать примерно так:

me.Height= me.button2.Location.Y + me.button2.Height + 30;

это открыть пространство формы между первой и второй кнопкой.
Далее в другом обработчике события обратно скрываем то что открыли:

me.Height= me.button1.Location.Y + me.button1.Height + 30;
// скрываем часть формы от точки: координата кнопки + высота кнопки + еще 30 пикселей.

Могу выложить простенький пример в котором используется скрытие части формы, а при нажатии кнопки она открывается полностью. И при нажатии на нажнюю кнопку снова скрывается нижняя часть.
Пример правда на C# но разницы особой нет. Только ключевые слова
this и me.
Правда в проекте форма прорисована в полном размере, а при выполнении она открывается в половину. И уже при работе программы открывается и закрывается скрытая часть.

Может тебе подойдет это решение.

kroskros
Продвинутый пользователь
Продвинутый пользователь
Аватара пользователя
 
Сообщения: 176
Зарегистрирован: 01.08.2005 (Пн) 6:59

Сообщение kroskros » 19.04.2006 (Ср) 9:26

мммм...
КАК закрыть открыть панель я знаю..
а вот, КАК передвинуть выше нижние кнопки родительсой формы,
причем количество эих самых кнопок может быть разным...

Впрочем я выкрутился через "зашибенную" конструкцию:
sender.parent.parent.height = 30
или 110 (у меня фиксированные размеры)
2 раза parent т.к. мне надо обратиться "через голову"
родительского контейнера...

В ходе своих исканий обнаружил, что в VS2005
уже есть контейнер SplitContainer.
Делю его горизонально, в верхнюю ячейку помещаю кнопку,
а вторую (нижнюю) сжимаю/разжимаю.
А кнопки пониже перемещаются сами, ибо поставил им свойство
DOCK = "top"
Вложения
TryButtonClass.zip
кому интересно.
разработано под VS2005,
(33.31 Кб) Скачиваний: 48
Max

PUNK-GRUNGER
Продвинутый пользователь
Продвинутый пользователь
Аватара пользователя
 
Сообщения: 145
Зарегистрирован: 10.06.2004 (Чт) 14:22
Откуда: Украина, Николаев

Сообщение PUNK-GRUNGER » 24.04.2006 (Пн) 23:30

На ВБакселераторе лежит готовый крутяцкий этот компонент.

kroskros
Продвинутый пользователь
Продвинутый пользователь
Аватара пользователя
 
Сообщения: 176
Зарегистрирован: 01.08.2005 (Пн) 6:59

Сообщение kroskros » 25.04.2006 (Вт) 5:50

Где-где? мож там еще чего полезного есть?
уточни адресок пжааалста!
Max

keks-n
Доктор VB наук
Доктор VB наук
Аватара пользователя
 
Сообщения: 2509
Зарегистрирован: 19.09.2005 (Пн) 17:17
Откуда: г. Москва

Сообщение keks-n » 25.04.2006 (Вт) 10:32

Изображение


Вернуться в Visual Basic .NET

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 97

    TopList