c tabcontrol активная вкладка

Элемент TabControl позволяет создать элемент управления с несколькими вкладками. И каждая вкладка будет хранить некоторый набор других элементов управления, как кнопки, текстовые поля и др. Каждая вкладка представлена классом TabPage.

Чтобы настроить вкладки элемента TabControl используем свойство TabPages. При переносе элемента TabControl с панели инструментов на форму по умолчанию создаются две вкладки — tabPage1 и tabPage2. Изменим их отображение с помощью свойства TabPages:

Нам откроется окно редактирования/добавления и удаления вкладок:

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

Управление вкладками в коде

Для добавления новой вкладки нам надо ее создать и добавить в коллекцию tabControl1.TabPages с помощью метода Add:

Удаление так же просто:

Получая в коллекции tabControl1.TabPages нужную вкладку по индексу, мы можем ей легко манипулировать:

SplitContainer

Элемент SplitContainer позволяет создавать две разделенные сплитером панели. Изменяя положение сплитера, можно изменить размеры этих панелей.

Используя свойство Orientation , можно задать горизонтальное или вертикальное отображение сплитера на форму. В данном случае это свойство принимает значения Horisontal и Vertical соответственно.

В случае, когда надо запретить изменение положения сплиттера, то можно присвоить свойству IsSplitterFixed значение true . Таким образом, сплитер окажется фиксированным, и мы не сможем поменять его положение.

По умолчанию при растяжении формы или ее сужении также будет меняться размер обеих панелей сплитконтейнера. Однако мы можем закрепить за одной панелью фиксированную ширину (при вертикальной ориентации сплиттера) или высоту (при горизонтальной ориентации сплиттера). Для этого нам надо установить у элемента SplitContainer свойство FixedPanel . В качестве значения оно принимает панель, которую надо зафиксировать:

Чтобы изменить положение сплитера в коде, мы можем управлять свойством SplitterDistance , которое задает положение сплиттера в пикселях от левого или верхнего края элемента SplitContainer. А с помощью свойства SplitterIncrement можно задать шаг, на который будет перемещаться сплиттер при движении его с помощью клавиш-стрелок.

Чтобы скрыть одну из двух панелей, мы можем установить свойство Panel1Collapsed или Panel2Collapsed в true

Свойство Alignment элемента TabControl поддерживает вертикальное отображение вкладок (вдоль левой или правой границы элемента управления), в отличие от горизонтального отображения (поперек верхней или нижней области элемента управления). The Alignment property of TabControl supports displaying tabs vertically (along the left or right edge of the control), as opposed to horizontally (across the top or bottom of the control). Вертикальное отображение по умолчанию бывает неудобным для пользователя, так как свойство Text объекта TabPage не отображается на вкладке при включении стилей оформления. By default, this vertical display results in a poor user experience, because the Text property of the TabPage object does not display in the tab when visual styles are enabled. Также не предусмотрена возможность прямого управления направлением текста на вкладке. Для улучшения взаимодействия с пользователем можно использовать рисование владельцем на TabControl. There is also no direct way to control the direction of the text within the tab. You can use owner draw on TabControl to improve this experience.

Ниже описан порядок визуализации вкладок с выравниванием по правому краю, в которых текст располагается слева направо, с помощью возможности «рисование владельцем». The following procedure shows how to render right-aligned tabs, with the tab text running from left to right, by using the «owner draw» feature.

Отображение вкладок с выравниванием по правому краю To display right-aligned tabs

Добавьте элемент TabControl в форму. Add a TabControl to your form.

Задайте для свойства Alignment значение Right. Set the Alignment property to Right.

Присвойте свойству SizeMode значение Fixed так, чтобы все вкладки имели одинаковую ширину. Set the SizeMode property to Fixed, so that all tabs are the same width.

Для свойства ItemSize установите необходимый фиксированный размер вкладок. Set the ItemSize property to the preferred fixed size for the tabs. Имейте в виду, что свойство ItemSize ведет себя так, как если бы вкладки располагались вверху, несмотря на то что они выровнены по правому краю. Keep in mind that the ItemSize property behaves as though the tabs were on top, although they are right-aligned. Таким образом, чтобы увеличить ширину вкладок, нужно изменить свойство Height, а чтобы сделать их выше, изменить свойство Width. As a result, in order to make the tabs wider, you must change the Height property, and in order to make them taller, you must change the Width property.

Для получения оптимальных результатов в примере кода ниже свойство Width имеет значение 25, а Height — значение 100. For best result with the code example below, set the Width of the tabs to 25 and the Height to 100.

Задайте для свойства DrawMode значение OwnerDrawFixed. Set the DrawMode property to OwnerDrawFixed.

Определите обработчик для события DrawItem элемента TabControl, выводящий текст слева направо. Define a handler for the DrawItem event of TabControl that renders the text from left to right.

Подскажите, пожалуйста, как сделать вкладку табконтрола неактивной?

Например, чтобы «Вкладка2» была неактивной и некликабельной (название вкладки серым цветом, итд).

Свойство Enabled = false не подходит, ибо оно просто выключает все контролы на вкладке, но позволяет кликать на неё и просматривать содержимое.

Понравилась статья? Поделиться с друзьями:
Vkontakte.INFO
Добавить комментарий

;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!: