среда, 15 сентября 2010 г.

Контейнеры. Часть 2.

Наконец-то у меня руки дошли до написания второй части статьи про контейнеры – статью с первой частью я опубликовал почти неделю назад – в четверг прошлый. Тогда мы узнали про то, какие контейнеры есть в Visual Studio. Правда, мы рассмотрели не все, - только три таких контейнера (Panel, GroupBox и SplitContainer). А сейчас пришло время для продолжения, так что давайте познакомимся с оставшимися компонентами и их интересными свойствами.

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



Всего контейнеров шесть, мы рассмотрели уже три, так что – осталось тоже три. Это будут FlowLayoutPanel, TabControl и TableLayoutPanel.

Начну с двух похожих контейнеров (которые называется почти одинаково): FlowLayoutPanel и TableLayoutPanel:

FlowLayoutPanel:

Представляет из себя почти то же самое, что и классическая панель. Но у нее есть довольно большое отличие – она представляет свое содержимое в динамическом виде в каком-либо направлении – сверху-вниз, либо слева-направо. За это отвечает свойство FlowDirection. Если вам надо расположить все внутренние компоненты сверху-внизу – выбирайте значение свойства TopDown. А если слева-направо – то LeftToFight. Там есть и еще два свойства, но они уж не так очевидны, сами разберетесь в их назначении. Там все очень просто. Вообще – смысл в том, что все компоненты автоматический (что я назвал - динамически) раскидаются по контейнеру так, как вы выбрали (FlowDirection отвечает за это, напомню вам).


TableLayoutPanel:

Как я уже сказал, этот контейнер похож на предыдущий, только элементы в располагаются в ячейках самого компонента (чтобы отобразилось меню, надо нажать на маленький треугольничек сверху):


 
Тут можно добавить колонку, столбец, удалить их. В общем – проделывать все, что вы захотите. С помощью мыши можно расширить величину ячеек. И затем – в эти ячейки можно помещать все, что вы захотите:



C помощью коллекций, которые называются Columns и Rows можно увеличить (или уменьшить) количество колонок и строк, также выбрать их величину. Очень удобная вещь.

TabControl:

И последний наш контейнер – называется TabContlor. Его очень часто используют для того, чтобы сгруппировать похожие функции в отдельных окнах. Но тут речь идет не про окна, а про вкладки. На одном элементе (TabControl) можно создать много вкладок (задать им разные имена), а затем – легко обращаться к каждой вкладке. 

Свойство-коллекция TabPages позволяет создать (или удалить) необходимое число вкладок и задать им нужные свойства. Обычно – этот контейнер удобно использовать в поиске, когда у вас много различных параметров поиска. Так эти параметры можно сгруппировать – и засунуть в различные вкладки.


Или сделать категории: предположим, у вас программа, демонстрирующая внешний вид автомобилей. Так первой вкладке можно сделать описание автомобиля Киа Рио, на второй вкладке – следующего авто, и так далее.

Комментариев нет:

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