Показать / Скрыть детали WinForm - PullRequest
3 голосов
/ 03 февраля 2009

Я создаю приложение WinForm (.net3.5), в котором отображаются некоторые сведения о клиенте. Моя проблема в том, что у нас есть поле направлений, которое соответствует адресу. Чтобы сэкономить место, я хотел бы скрыть указания, пока пользователь не «пожелает» их видеть. Мой предполагаемый метод состоял в том, чтобы иметь представление аккордеона для указаний.
Я мог бы предположить, что я мог бы также сделать это со скрытым полем и BringToFront () (было бы лучше).

Может кто-нибудь предложить какое-нибудь руководство по аккордеонному стилю?
Что-то уже существует?
Нужно ли принимать во внимание что-то особенное?
В кодировании моего собственного поведения; Могу ли я просто переместить все вниз, а затем вернуться назад и т. Д.?

Спасибо!

Ответы [ 4 ]

6 голосов
/ 03 февраля 2009

Концепция, о которой вы говорите, называется Прогрессивное раскрытие . У Microsoft есть несколько превосходных советов в руководстве по UX об этих типах элементов управления.

4 голосов
/ 03 февраля 2009

Когда мне требуется такой тип поведения, я считаю, что TableLayoutPanel полезен. Вы можете установить автоматическое изменение размера строк и столбцов, если удерживаете расширяемый контент - таким образом, когда вы скрываете контент, строка сворачивается.

Если у вас есть другой элемент управления (например, кнопка), вы можете использовать его для управления скрытым состоянием расширяемого содержимого.

Например, создать таблицу из 3 строк и 1 столбца. Добавьте кнопку фиксированного размера вверху и элемент авторазмера в середине. Сделайте размер последней строки в процентах (вам это нужно, чтобы что-то занимало оставшееся пространство, когда средний ряд обнулялся). Затем используйте кнопку, чтобы изменить видимое свойство всего, что у вас есть в среднем ряду.

2 голосов
/ 03 февраля 2009

Я думаю, что вы захотите сгруппировать связанные элементы управления в панели, выровнять их по верху / низу формы, а затем программно показать / скрыть соответствующую панель, когда пользователь нажимает «Подробнее» / / «< <Меньше деталей ". </p>

РЕДАКТИРОВАТЬ: я не знаю вспомогательного элемента управления для этой конкретной функции, кроме панелей, используемых для группировки элементов управления и показать / скрыть их все сразу.

1 голос
/ 03 февраля 2009

Если элементы управления размещены свободно, то да - вам придется перемещать предметы вверх или вниз. Вы можете уменьшить объем работы, заключив группы связанных элементов управления в панели: тогда вам просто нужно переместить панели. Если панели пристыкованы (например, «верх») - просто спрячьте / покажите панель, и все автоматически встанет на свои места.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...