Featured Common Controls

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

Библиотека устанавливается в GAC, создает новую панель инструментов в Visual Studio, добавляется в диалоговое окно «Add reference…». Как это сделать самостоятельно, вы можете прочитать в одной из предыдущих статей.

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

Source code Установщик компонентов

Далее я вкратце опишу компоненты, входящие в библиотеку.

VTXButton

Мне кажется, нет ни одного приложения, где не было бы компонента «Кнопка». Всё стремится именно к этому волшебному элементу дизайна, на котором должно быть написано «Сделать всё!». Сразу после создания можно задавать имя кнопки, текст который будет виден пользователю. Сугубо для своих нужд я сделал биндинг на свойство Tag (Action on click). Как я использую это поле, я расскажу в одном и следующих постов, где будут затронуты способы работы с аспектами и библиотекой PostSharp.

VTXCheckBox

Для чекбокса также можно задавать имя компонента, текст слева от поля для галочки. Можно сразу биндить свойства к свойству Checked, что может быть полезно. Прикрепив «модель» (BindingSource) к набору таких чекбоксов сразу после создания, а по нажатию, к примеру, на кнопку можно забирать модель и опрашивать значения представленные чекбоксами. В таком ключе легко и приятно работать с функциональной частью интерфейса. Так же опять реакция на нажатие может быть забиндина к свойству Tag (Action on click).

VTXDateTimePicker

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

Традиционно можно задать имя компонента через смарт-тэг.

VTXLabel

И снова готов спорить, что без этого элемента не обходится ни одна программа. =) Создается порой бесчисленное множество подписей. Особенно на стадии первичного проектирования. В это время пригодится возможность быстро задавать как имя компонента, так и его значение.

VTXLinkLabel

Надпись-ссылка активно используется в продуктах Microsoft, делая интерфейс легче и привычнее. Можно активно стирать границы между отдельными приложениями и интернет-сервисами. Для данного компонента можно задать его имя и текст, который увидит пользователь. Так же вы вольны выбрать изображение, которое будет показано слева от ссылки.

VTXPanel

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

VTXProgressBar

Не самый часто используемый компонент, но тем не менее я решил включить его в сборку. С помощью смарт-тэга можно задать размер интервала, переименовать компонент, а так же назначить биндинг на значение.

VTXTextBox

Поле для ввода текста подверглось наверно самым большим изменениям среди остальных компонентов. Добавлена возможность задавать текст-подсказку на манер строк поиска. Null Text будет виден пользователю в виде текста серого цвета. При попытке ввода, текст исчезнет и введенный текст отобразится уже нормальным начертанием. Советую поэкспериментировать с этим компонентом, вам понравится! ;)

Source code ~41 KB

Установщик компонентов ~237KB

Hard’n’heavy!

Оставить комментарий