TabContainer
Контейнер страниц с заголовками вкладок и единой выбранной страницей.
Добавляйте страницы непосредственными дочерними Control. Вложенные элементы принадлежат своей странице; обычный Entity не создаёт вкладку. Control с TopLevel исключается из раскладки вкладок. Заголовок по умолчанию берётся из Name страницы. GetTabControl/GetCurrentTabControl возвращают существующие дочерние элементы, которыми владеет контейнер, а не копии для освобождения.
Индексы идут от 0 и учитывают скрытые/отключённые вкладки. Они могут измениться после MoveChild, добавления или удаления страницы. Не сохраняйте индекс как постоянный ID: храните собственный ключ через SetTabMetadata или ссылку на страницу и заново получайте индекс через GetTabIdxFromControl. Не используйте GetChild(index) как замену GetTabControl: среди детей могут быть вспомогательные Entity и внутренние элементы.
CurrentTab выбирает страницу. В пустом контейнере это -1; при наличии страниц снятие выбора обычно требует DeselectEnabled = true. Программный setter не запрещает выбор отключённой вкладки. Для выбора только доступных страниц используйте SelectNextAvailable/SelectPreviousAvailable: они пропускают hidden/disabled, возвращают bool и останавливаются у края, без перехода по кругу.
Запись CurrentTab испускает TabSelected даже для того же индекса; TabChanged возникает только при смене. TabSelected приходит раньше обновления страницы через TabChanged, поэтому не полагайтесь в нём на уже завершённую смену Visible. Для загрузки содержимого выбранной страницы обычно подходит TabChanged. TabClicked обозначает клик пользователя и не вызывается программным выбором. GetPreviousTab отражает предыдущую запись выбора; после повторного выбора может совпадать с CurrentTab.
Контейнер управляет Visible страниц. Show() неактивной страницы переключает выбор на неё. Hide() активной страницы может выбрать следующую/предыдущую доступную, снять выбор или вернуть единственную страницу в видимое состояние. Для скрытия заголовка конкретной вкладки используйте SetTabHidden; для скрытия всей полосы — TabsVisible = false. Скрытая полоса не скрывает выбранную страницу.
UseHiddenTabsForMinSize = false по умолчанию: неактивные страницы с Visible = false не определяют минимум содержимого. Включите true, если размер окна не должен меняться при переключении на большую страницу. В расчёте также участвуют поля panel и видимая полоса вкладок; это не только сумма размеров заголовков. Контейнер задаёт anchors/offsets активной страницы — размещайте собственную раскладку внутри неё.
До входа в дерево CurrentTab сохраняет запрошенный индекс для последующего применения. Для динамического интерфейса сначала добавьте страницы и контейнер в дерево, затем выбирайте допустимый индекс. GetTabBar возвращает внутренний общий TabBar: не освобождайте его и не добавляйте/удаляйте в нём вкладки напрямую, иначе заголовки разойдутся со страницами.
Объявления сверены с C# SDK 1.0.0. Раскройте имя, чтобы увидеть сигнатуры и описание.
Конструкторы1
TabContainerКонструктор
public TabContainer();Создаёт пустой контейнер: CurrentTab = -1, TabsVisible = true, DeselectEnabled = false, UseHiddenTabsForMinSize = false. Страницы добавляются дочерними Control.
Свойства13
AllTabsInFrontСвойство · Устарело
public bool AllTabsInFront { get; set; }Устаревшая настройка без действия в текущей реализации. Getter возвращает false; setter не меняет порядок, а true может вывести предупреждение. Не используйте для управления слоями или порядком страниц.
ClipTabsСвойство
public bool ClipTabs { get; set; }Ограничивать полосу доступной шириной, true по умолчанию. При нехватке места часть заголовков прокручивается; false включает их ширину в минимум и может расширить контейнер. Не является ClipContents для страниц.
CurrentTabСвойство
public int CurrentTab { get; set; }Индекс выбранной страницы, -1 в пустом контейнере. Допустим индекс 0…GetTabCount()-1; -1 требует разрешённого снятия выбора либо отсутствия доступных вкладок. Setter может выбрать disabled-вкладку. До входа в дерево запрос откладывается. Повторный индекс испускает TabSelected без TabChanged.
DeselectEnabledСвойство
public bool DeselectEnabled { get; set; }Разрешает отсутствие выбранной страницы, false по умолчанию. Для явного снятия выбора включите флаг и задайте CurrentTab = -1. Выключение при -1 пытается выбрать первую доступную вкладку.
DragToRearrangeEnabledСвойство
public bool DragToRearrangeEnabled { get; set; }Разрешает пользовательское перетаскивание вкладок для перестановки, false по умолчанию. Не запрещает MoveChild из кода. Для переноса между контейнерами дополнительно настройте одинаковую TabsRearrangeGroup.
SwitchOnDragHoverСвойство
public bool SwitchOnDragHover { get; set; }Переключать вкладку при наведении во время перетаскивания содержимого, true по умолчанию. Не определяет допустимость drop и не включает перестановку вкладок. Перетаскивание самих вкладок имеет отдельный путь.
TabAlignmentСвойство
public TabBar.AlignmentMode TabAlignment { get; set; }Выравнивание заголовков Left/Center/Right, Left по умолчанию. Работает с внутренним TabBar и полями темы, не выравнивает содержимое страниц. Направление раскладки учитывается отдельно.
TabFocusModeСвойство
public Control.FocusModeEnum TabFocusMode { get; set; }FocusMode внутренней полосы, All по умолчанию. None убирает фокус с заголовков, но не меняет FocusMode кнопок/полей внутри страниц.
TabSizingСвойство
public TabBar.SizingMode TabSizing { get; set; }Режим ширины заголовков, FitContent по умолчанию. FitContent — индивидуальная ширина содержимого; Uniform — всем ширина самого широкого. Justify пропорционально расширяет ширины при свободном месте; Expand распределяет его поровну, если самый широкий заголовок помещается, иначе использует FitContent. Это не размер страниц.
TabsPositionСвойство
public TabContainer.TabPosition TabsPosition { get; set; }Полоса вкладок сверху или снизу: Top по умолчанию. Bottom перемещает заголовки и переворачивает их style-box по вертикали; содержимое страницы не переворачивается. Переразметка откладывается.
TabsRearrangeGroupСвойство
public int TabsRearrangeGroup { get; set; }Группа переноса вкладок между контейнерами; -1 по умолчанию запрещает межконтейнерный перенос. Задайте одинаковый неотрицательный ID и разрешите DragToRearrangeEnabled у участников. Это не группа Entity и не постоянный ID вкладки.
TabsVisibleСвойство
public bool TabsVisible { get; set; }Показывать полосу заголовков, true по умолчанию. false убирает полосу и её место в раскладке, сохраняя выбранную страницу и её индекс.
public bool UseHiddenTabsForMinSize { get; set; }Учитывать минимумы невидимых, включая неактивные, страниц; false по умолчанию. true берёт покомпонентный максимум размеров страниц и помогает избежать изменения минимума при переключении.
Методы53
AreTabsVisiblebool
public bool AreTabsVisible();Показывать полосу заголовков, true по умолчанию. false убирает полосу и её место в раскладке, сохраняя выбранную страницу и её индекс.
boolФлаг показа полосы вкладок.
GetClipTabsbool
public bool GetClipTabs();Ограничивать полосу доступной шириной, true по умолчанию. При нехватке места часть заголовков прокручивается; false включает их ширину в минимум и может расширить контейнер. Не является ClipContents для страниц.
boolФлаг ограничения полосы по ширине.
GetCurrentTabint
public int GetCurrentTab();Индекс выбранной страницы, -1 в пустом контейнере. Допустим индекс 0…GetTabCount()-1; -1 требует разрешённого снятия выбора либо отсутствия доступных вкладок. Setter может выбрать disabled-вкладку. До входа в дерево запрос откладывается. Повторный индекс испускает TabSelected без TabChanged.
intТекущий индекс или -1 без выбора.
GetCurrentTabControlControl
public Control GetCurrentTabControl();Возвращает текущую дочернюю страницу либо null при отсутствии выбора. Это существующий Control, не новый экземпляр.
ControlОбщая выбранная страница либо null.
GetDeselectEnabledbool
public bool GetDeselectEnabled();Разрешает отсутствие выбранной страницы, false по умолчанию. Для явного снятия выбора включите флаг и задайте CurrentTab = -1. Выключение при -1 пытается выбрать первую доступную вкладку.
boolРазрешено ли явное снятие выбора.
GetDragToRearrangeEnabledbool
public bool GetDragToRearrangeEnabled();Разрешает пользовательское перетаскивание вкладок для перестановки, false по умолчанию. Не запрещает MoveChild из кода. Для переноса между контейнерами дополнительно настройте одинаковую TabsRearrangeGroup.
boolФлаг разрешения перестановки вводом пользователя.
GetPopupPopup
public Popup GetPopup();Возвращает назначенный общий Popup либо null. Контейнер хранит ID объекта и не владеет его временем жизни; отсоединяйте через SetPopup(null) перед освобождением меню.
PopupОбщий назначенный Popup либо null.
GetPreviousTabint
public int GetPreviousTab();Индекс до последнего присваивания выбора. Повторная запись CurrentTab обновляет previous тем же индексом; это не обязательно последняя другая страница и не постоянный ID.
intИндекс до последней записи выбора.
GetSwitchOnDragHoverbool
public bool GetSwitchOnDragHover();Переключать вкладку при наведении во время перетаскивания содержимого, true по умолчанию. Не определяет допустимость drop и не включает перестановку вкладок. Перетаскивание самих вкладок имеет отдельный путь.
boolФлаг переключения при наведении с перетаскиванием.
GetTabAlignmentTabBar.AlignmentMode
public TabBar.AlignmentMode GetTabAlignment();Выравнивание заголовков Left/Center/Right, Left по умолчанию. Работает с внутренним TabBar и полями темы, не выравнивает содержимое страниц. Направление раскладки учитывается отдельно.
TabBar.AlignmentModeТекущий TabBar.AlignmentMode.
GetTabBarTabBar
public TabBar GetTabBar();Общий внутренний TabBar. Не освобождайте его и не меняйте число вкладок напрямую: заголовки должны соответствовать дочерним страницам TabContainer. Для выбора и свойств вкладок используйте методы контейнера.
TabBarОбщий внутренний TabBar.
GetTabButtonIconTexture2D
public Texture2D GetTabButtonIcon(int tabIdx);Возвращает общую иконку дополнительной кнопки либо null. Не возвращает основную иконку вкладки.
| Имя | Тип | По умолчанию |
|---|---|---|
tabIdx | int | — |
tabIdxТекущий индекс вкладки 0…GetTabCount()-1, не постоянный ID.
Texture2DОбщая Texture2D дополнительной кнопки либо null.
GetTabControlControl
public Control GetTabControl(int tabIdx);Возвращает дочернюю страницу по индексу вкладки. Для отрицательного/несуществующего индекса возвращает null. Общая ссылка: не освобождайте её, пока страницей владеет контейнер.
| Имя | Тип | По умолчанию |
|---|---|---|
tabIdx | int | — |
tabIdxИндекс вкладки 0…GetTabCount()-1; для SetCurrentTab значение -1 допустимо при разрешённом снятии выбора. GetTabControl возвращает null для отсутствующего индекса.
ControlОбщая дочерняя страница либо null.
GetTabCountint
public int GetTabCount();Число страниц-вкладок, включая hidden/disabled. Это не число всех Entity-детей и не число видимых заголовков.
intКоличество страниц, включая hidden/disabled.
GetTabFocusModeControl.FocusModeEnum
public Control.FocusModeEnum GetTabFocusMode();FocusMode внутренней полосы, All по умолчанию. None убирает фокус с заголовков, но не меняет FocusMode кнопок/полей внутри страниц.
Control.FocusModeEnumFocusMode внутренней полосы.
GetTabIconTexture2D
public Texture2D GetTabIcon(int tabIdx);Возвращает общую основную иконку заголовка либо null. Это отдельный слот от дополнительной кнопки SetTabButtonIcon.
| Имя | Тип | По умолчанию |
|---|---|---|
tabIdx | int | — |
tabIdxТекущий индекс вкладки 0…GetTabCount()-1, не постоянный ID.
Texture2DОбщая основная Texture2D либо null.
GetTabIconMaxWidthint
public int GetTabIconMaxWidth(int tabIdx);Возвращает сохранённое индивидуальное ограничение ширины, 0 по умолчанию. Это не фактическая ширина рисунка и не итог с учётом темы.
| Имя | Тип | По умолчанию |
|---|---|---|
tabIdx | int | — |
tabIdxТекущий индекс вкладки 0…GetTabCount()-1, не постоянный ID.
intСохранённый предел ширины в пикселях; 0 без индивидуального предела.
GetTabIdxAtPointint
public int GetTabIdxAtPoint(Vector2 point);Возвращает индекс заголовка под точкой либо -1. В текущей реализации точка передаётся напрямую внутреннему TabBar: используйте его локальные координаты, например GetTabBar().GetLocalMousePosition(), а не координаты страницы/экрана/всего контейнера. Это важно при Bottom и смещении полосы. Отключённый заголовок всё ещё может находиться под точкой.
| Имя | Тип | По умолчанию |
|---|---|---|
point | Vector2 | — |
pointТочка в локальных координатах GetTabBar(), не всего TabContainer.
intИндекс найденного заголовка либо -1.
GetTabIdxFromControlint
public int GetTabIdxFromControl(Control control);Находит актуальный индекс непосредственной дочерней страницы. Требуется ненулевой Control с этим родителем; неправильный родитель сообщает ошибку и возвращает -1. Для перестановок храните ссылку/ID страницы, а не прежний индекс.
| Имя | Тип | По умолчанию |
|---|---|---|
control | Control | — |
controlНенулевая непосредственная дочерняя страница этого контейнера.
intТекущий индекс страницы, либо -1 при отсутствии/ошибке.
GetTabMetadataVariant
public Variant GetTabMetadata(int tabIdx);Возвращает Variant-данные вкладки. Если metadata не назначена, возвращает Nil. Для собственного ID используйте ожидаемый тип и проверяйте его перед преобразованием.
| Имя | Тип | По умолчанию |
|---|---|---|
tabIdx | int | — |
tabIdxИндекс вкладки 0…GetTabCount()-1; для SetCurrentTab значение -1 допустимо при разрешённом снятии выбора. GetTabControl возвращает null для отсутствующего индекса.
VariantMetadata Variant либо Nil.
GetTabSizingTabBar.SizingMode
public TabBar.SizingMode GetTabSizing();Режим ширины заголовков, FitContent по умолчанию. FitContent — индивидуальная ширина содержимого; Uniform — всем ширина самого широкого. Justify пропорционально расширяет ширины при свободном месте; Expand распределяет его поровну, если самый широкий заголовок помещается, иначе использует FitContent. Это не размер страниц.
TabBar.SizingModeТекущий TabBar.SizingMode.
GetTabTitlestring
public string GetTabTitle(int tabIdx);Возвращает сохранённый заголовок указанной вкладки, отдельно от имени страницы и её постоянного ID.
| Имя | Тип | По умолчанию |
|---|---|---|
tabIdx | int | — |
tabIdxИндекс вкладки 0…GetTabCount()-1; для SetCurrentTab значение -1 допустимо при разрешённом снятии выбора. GetTabControl возвращает null для отсутствующего индекса.
stringСохранённый заголовок вкладки.
GetTabTooltipstring
public string GetTabTooltip(int tabIdx);Возвращает сохранённую подсказку заголовка.
| Имя | Тип | По умолчанию |
|---|---|---|
tabIdx | int | — |
tabIdxИндекс вкладки 0…GetTabCount()-1; для SetCurrentTab значение -1 допустимо при разрешённом снятии выбора. GetTabControl возвращает null для отсутствующего индекса.
stringСохранённая подсказка вкладки.
GetTabsPositionTabContainer.TabPosition
public TabContainer.TabPosition GetTabsPosition();Полоса вкладок сверху или снизу: Top по умолчанию. Bottom перемещает заголовки и переворачивает их style-box по вертикали; содержимое страницы не переворачивается. Переразметка откладывается.
TabContainer.TabPositionTop или Bottom.
GetTabsRearrangeGroupint
public int GetTabsRearrangeGroup();Группа переноса вкладок между контейнерами; -1 по умолчанию запрещает межконтейнерный перенос. Задайте одинаковый неотрицательный ID и разрешите DragToRearrangeEnabled у участников. Это не группа Entity и не постоянный ID вкладки.
intID группы переноса или -1.
public bool GetUseHiddenTabsForMinSize();Учитывать минимумы невидимых, включая неактивные, страниц; false по умолчанию. true берёт покомпонентный максимум размеров страниц и помогает избежать изменения минимума при переключении.
boolУчитываются ли невидимые страницы в минимуме.
IsAllTabsInFrontbool
public bool IsAllTabsInFront();Устаревшая настройка без действия в текущей реализации. Getter возвращает false; setter не меняет порядок, а true может вывести предупреждение. Не используйте для управления слоями или порядком страниц.
boolВсегда false в текущей реализации.
IsTabDisabledbool
public bool IsTabDisabled(int tabIdx);Возвращает флаг disabled заголовка; это не Visible страницы и не гарантия, что она не выбрана.
| Имя | Тип | По умолчанию |
|---|---|---|
tabIdx | int | — |
tabIdxИндекс вкладки 0…GetTabCount()-1; для SetCurrentTab значение -1 допустимо при разрешённом снятии выбора. GetTabControl возвращает null для отсутствующего индекса.
boolФлаг disabled указанного заголовка.
public bool IsTabHidden(int tabIdx);Флаг скрытия заголовка. Не равен !Visible: неактивная страница обычно невидима и с видимым заголовком.
| Имя | Тип | По умолчанию |
|---|---|---|
tabIdx | int | — |
tabIdxИндекс вкладки 0…GetTabCount()-1; для SetCurrentTab значение -1 допустимо при разрешённом снятии выбора. GetTabControl возвращает null для отсутствующего индекса.
boolФлаг hidden указанного заголовка.
SelectNextAvailablebool
public bool SelectNextAvailable();Выбирает следующую по индексу вкладку без hidden/disabled; возвращает true при успехе. Не переходит с конца к началу. При CurrentTab = -1 ищет от первой вкладки.
booltrue, если найдена и выбрана следующая доступная вкладка.
SelectPreviousAvailablebool
public bool SelectPreviousAvailable();Выбирает предыдущую по индексу доступную вкладку, пропуская hidden/disabled. Возвращает false без смены выбора, если подходящей вкладки слева нет; не переходит по кругу.
booltrue, если найдена и выбрана предыдущая доступная вкладка.
SetAllTabsInFrontvoid
public void SetAllTabsInFront(bool isFront);Устаревшая настройка без действия в текущей реализации. Getter возвращает false; setter не меняет порядок, а true может вывести предупреждение. Не используйте для управления слоями или порядком страниц.
| Имя | Тип | По умолчанию |
|---|---|---|
isFront | bool | — |
isFrontУстаревшая настройка без действия в текущей реализации. Getter возвращает false; setter не меняет порядок, а true может вывести предупреждение. Не используйте для управления слоями или порядком страниц.
SetClipTabsvoid
public void SetClipTabs(bool clipTabs);Ограничивать полосу доступной шириной, true по умолчанию. При нехватке места часть заголовков прокручивается; false включает их ширину в минимум и может расширить контейнер. Не является ClipContents для страниц.
| Имя | Тип | По умолчанию |
|---|---|---|
clipTabs | bool | — |
clipTabsОграничивать полосу доступной шириной, true по умолчанию. При нехватке места часть заголовков прокручивается; false включает их ширину в минимум и может расширить контейнер. Не является ClipContents для страниц.
SetCurrentTabvoid
public void SetCurrentTab(int tabIdx);Индекс выбранной страницы, -1 в пустом контейнере. Допустим индекс 0…GetTabCount()-1; -1 требует разрешённого снятия выбора либо отсутствия доступных вкладок. Setter может выбрать disabled-вкладку. До входа в дерево запрос откладывается. Повторный индекс испускает TabSelected без TabChanged.
| Имя | Тип | По умолчанию |
|---|---|---|
tabIdx | int | — |
tabIdxИндекс вкладки 0…GetTabCount()-1; для SetCurrentTab значение -1 допустимо при разрешённом снятии выбора. GetTabControl возвращает null для отсутствующего индекса.
SetDeselectEnabledvoid
public void SetDeselectEnabled(bool enabled);Разрешает отсутствие выбранной страницы, false по умолчанию. Для явного снятия выбора включите флаг и задайте CurrentTab = -1. Выключение при -1 пытается выбрать первую доступную вкладку.
| Имя | Тип | По умолчанию |
|---|---|---|
enabled | bool | — |
enabledРазрешает отсутствие выбранной страницы, false по умолчанию. Для явного снятия выбора включите флаг и задайте CurrentTab = -1. Выключение при -1 пытается выбрать первую доступную вкладку.
SetDragToRearrangeEnabledvoid
public void SetDragToRearrangeEnabled(bool enabled);Разрешает пользовательское перетаскивание вкладок для перестановки, false по умолчанию. Не запрещает MoveChild из кода. Для переноса между контейнерами дополнительно настройте одинаковую TabsRearrangeGroup.
| Имя | Тип | По умолчанию |
|---|---|---|
enabled | bool | — |
enabledРазрешает пользовательское перетаскивание вкладок для перестановки, false по умолчанию. Не запрещает MoveChild из кода. Для переноса между контейнерами дополнительно настройте одинаковую TabsRearrangeGroup.
SetPopupvoid
public void SetPopup(Entity popup);Назначает ссылку на существующий Popup, например PopupMenu; null отсоединяет. Параметр имеет тип Entity, но другой тип очищает назначение. Не добавляет меню в дерево, не меняет родителя, не открывает и не освобождает его. Добавьте Popup в дерево самостоятельно и отсоедините до его освобождения.
| Имя | Тип | По умолчанию |
|---|---|---|
popup | Entity | — |
popupНазначает ссылку на существующий Popup, например PopupMenu; null отсоединяет. Параметр имеет тип Entity, но другой тип очищает назначение. Не добавляет меню в дерево, не меняет родителя, не открывает и не освобождает его. Добавьте Popup в дерево самостоятельно и отсоедините до его освобождения.
SetSwitchOnDragHovervoid
public void SetSwitchOnDragHover(bool enabled);Переключать вкладку при наведении во время перетаскивания содержимого, true по умолчанию. Не определяет допустимость drop и не включает перестановку вкладок. Перетаскивание самих вкладок имеет отдельный путь.
| Имя | Тип | По умолчанию |
|---|---|---|
enabled | bool | — |
enabledПереключать вкладку при наведении во время перетаскивания содержимого, true по умолчанию. Не определяет допустимость drop и не включает перестановку вкладок. Перетаскивание самих вкладок имеет отдельный путь.
SetTabAlignmentvoid
public void SetTabAlignment(TabBar.AlignmentMode alignment);Выравнивание заголовков Left/Center/Right, Left по умолчанию. Работает с внутренним TabBar и полями темы, не выравнивает содержимое страниц. Направление раскладки учитывается отдельно.
| Имя | Тип | По умолчанию |
|---|---|---|
alignment | TabBar.AlignmentMode | — |
alignmentВыравнивание заголовков Left/Center/Right, Left по умолчанию. Работает с внутренним TabBar и полями темы, не выравнивает содержимое страниц. Направление раскладки учитывается отдельно.
SetTabButtonIconvoid
public void SetTabButtonIcon(int tabIdx, Texture2D icon);Задаёт иконку отдельной кнопки в заголовке; null убирает кнопку. Основная иконка не меняется. Нажатие сообщает TabButtonPressed; удаление/закрытие страницы реализуйте сами.
| Имя | Тип | По умолчанию |
|---|---|---|
tabIdx | int | — |
icon | Texture2D | — |
tabIdxТекущий индекс вкладки 0…GetTabCount()-1, не постоянный ID.
iconЗадаёт иконку отдельной кнопки в заголовке; null убирает кнопку. Основная иконка не меняется. Нажатие сообщает TabButtonPressed; удаление/закрытие страницы реализуйте сами.
SetTabDisabledvoid
public void SetTabDisabled(int tabIdx, bool disabled);Запрещает выбор заголовка пользователем и доступной навигацией. Не скрывает страницу и не переключает уже выбранную вкладку; программный CurrentTab всё ещё может её выбрать.
| Имя | Тип | По умолчанию |
|---|---|---|
tabIdx | int | — |
disabled | bool | — |
tabIdxИндекс вкладки 0…GetTabCount()-1; для SetCurrentTab значение -1 допустимо при разрешённом снятии выбора. GetTabControl возвращает null для отсутствующего индекса.
disabledЗапрещает выбор заголовка пользователем и доступной навигацией. Не скрывает страницу и не переключает уже выбранную вкладку; программный CurrentTab всё ещё может её выбрать.
SetTabFocusModevoid
public void SetTabFocusMode(Control.FocusModeEnum focusMode);FocusMode внутренней полосы, All по умолчанию. None убирает фокус с заголовков, но не меняет FocusMode кнопок/полей внутри страниц.
| Имя | Тип | По умолчанию |
|---|---|---|
focusMode | Control.FocusModeEnum | — |
focusModeFocusMode внутренней полосы, All по умолчанию. None убирает фокус с заголовков, но не меняет FocusMode кнопок/полей внутри страниц.
public void SetTabHidden(int tabIdx, bool hidden);Скрывает/возвращает заголовок, не удаляя страницу и не меняя число вкладок. Изменение также скрывает страницу и запускает согласование выбора; при скрытии текущей может выбрать другую. Для подготовки задавайте после добавления страницы.
| Имя | Тип | По умолчанию |
|---|---|---|
tabIdx | int | — |
hidden | bool | — |
tabIdxИндекс вкладки 0…GetTabCount()-1; для SetCurrentTab значение -1 допустимо при разрешённом снятии выбора. GetTabControl возвращает null для отсутствующего индекса.
hiddenСкрывает/возвращает заголовок, не удаляя страницу и не меняя число вкладок. Изменение также скрывает страницу и запускает согласование выбора; при скрытии текущей может выбрать другую. Для подготовки задавайте после добавления страницы.
SetTabIconvoid
public void SetTabIcon(int tabIdx, Texture2D icon);Назначает общую Texture2D основной иконке заголовка; null убирает её. Требуется существующая страница. Ресурс не копируется; назначение обновляет поля/перерисовку. Размер ограничивается темой и SetTabIconMaxWidth.
| Имя | Тип | По умолчанию |
|---|---|---|
tabIdx | int | — |
icon | Texture2D | — |
tabIdxТекущий индекс вкладки 0…GetTabCount()-1, не постоянный ID.
iconНазначает общую Texture2D основной иконке заголовка; null убирает её. Требуется существующая страница. Ресурс не копируется; назначение обновляет поля/перерисовку. Размер ограничивается темой и SetTabIconMaxWidth.
SetTabIconMaxWidthvoid
public void SetTabIconMaxWidth(int tabIdx, int width);Максимальная ширина основной иконки в локальных пикселях. 0 означает отсутствие индивидуального ограничения; положительное значение сохраняет пропорции и сочетается с более строгим icon_max_width темы. Не увеличивает маленькую иконку и не меняет Texture2D.
| Имя | Тип | По умолчанию |
|---|---|---|
tabIdx | int | — |
width | int | — |
tabIdxТекущий индекс вкладки 0…GetTabCount()-1, не постоянный ID.
widthМаксимальная ширина основной иконки в локальных пикселях. 0 означает отсутствие индивидуального ограничения; положительное значение сохраняет пропорции и сочетается с более строгим icon_max_width темы. Не увеличивает маленькую иконку и не меняет Texture2D.
SetTabMetadatavoid
public void SetTabMetadata(int tabIdx, Variant metadata);Сохраняет Variant-данные вкладки, например собственный постоянный ID. Данные относятся к записи вкладки и перемещаются с ней; текущий индекс постоянным ключом не становится. Ссылочные контейнеры внутри Variant могут оставаться общими.
| Имя | Тип | По умолчанию |
|---|---|---|
tabIdx | int | — |
metadata | Variant | — |
tabIdxИндекс вкладки 0…GetTabCount()-1; для SetCurrentTab значение -1 допустимо при разрешённом снятии выбора. GetTabControl возвращает null для отсутствующего индекса.
metadataСохраняет Variant-данные вкладки, например собственный постоянный ID. Данные относятся к записи вкладки и перемещаются с ней; текущий индекс постоянным ключом не становится. Ссылочные контейнеры внутри Variant могут оставаться общими.
SetTabSizingvoid
public void SetTabSizing(TabBar.SizingMode tabSizing);Режим ширины заголовков, FitContent по умолчанию. FitContent — индивидуальная ширина содержимого; Uniform — всем ширина самого широкого. Justify пропорционально расширяет ширины при свободном месте; Expand распределяет его поровну, если самый широкий заголовок помещается, иначе использует FitContent. Это не размер страниц.
| Имя | Тип | По умолчанию |
|---|---|---|
tabSizing | TabBar.SizingMode | — |
tabSizingРежим ширины заголовков, FitContent по умолчанию. FitContent — индивидуальная ширина содержимого; Uniform — всем ширина самого широкого. Justify пропорционально расширяет ширины при свободном месте; Expand распределяет его поровну, если самый широкий заголовок помещается, иначе использует FitContent. Это не размер страниц.
SetTabTitlevoid
public void SetTabTitle(int tabIdx, string title);Задаёт заголовок, не переименовывая Control страницы. Собственный заголовок сохраняется при переименовании страницы; присваивание текущего Name возвращает отслеживание имени.
| Имя | Тип | По умолчанию |
|---|---|---|
tabIdx | int | — |
title | string | — |
tabIdxИндекс вкладки 0…GetTabCount()-1; для SetCurrentTab значение -1 допустимо при разрешённом снятии выбора. GetTabControl возвращает null для отсутствующего индекса.
titleЗадаёт заголовок, не переименовывая Control страницы. Собственный заголовок сохраняется при переименовании страницы; присваивание текущего Name возвращает отслеживание имени.
SetTabTooltipvoid
public void SetTabTooltip(int tabIdx, string tooltip);Задаёт подсказку заголовка, не меняя заголовок, имя или индекс. Требуется существующая вкладка.
| Имя | Тип | По умолчанию |
|---|---|---|
tabIdx | int | — |
tooltip | string | — |
tabIdxИндекс вкладки 0…GetTabCount()-1; для SetCurrentTab значение -1 допустимо при разрешённом снятии выбора. GetTabControl возвращает null для отсутствующего индекса.
tooltipЗадаёт подсказку заголовка, не меняя заголовок, имя или индекс. Требуется существующая вкладка.
SetTabsPositionvoid
public void SetTabsPosition(TabContainer.TabPosition tabsPosition);Полоса вкладок сверху или снизу: Top по умолчанию. Bottom перемещает заголовки и переворачивает их style-box по вертикали; содержимое страницы не переворачивается. Переразметка откладывается.
| Имя | Тип | По умолчанию |
|---|---|---|
tabsPosition | TabContainer.TabPosition | — |
tabsPositionПолоса вкладок сверху или снизу: Top по умолчанию. Bottom перемещает заголовки и переворачивает их style-box по вертикали; содержимое страницы не переворачивается. Переразметка откладывается.
SetTabsRearrangeGroupvoid
public void SetTabsRearrangeGroup(int groupId);Группа переноса вкладок между контейнерами; -1 по умолчанию запрещает межконтейнерный перенос. Задайте одинаковый неотрицательный ID и разрешите DragToRearrangeEnabled у участников. Это не группа Entity и не постоянный ID вкладки.
| Имя | Тип | По умолчанию |
|---|---|---|
groupId | int | — |
groupIdГруппа переноса вкладок между контейнерами; -1 по умолчанию запрещает межконтейнерный перенос. Задайте одинаковый неотрицательный ID и разрешите DragToRearrangeEnabled у участников. Это не группа Entity и не постоянный ID вкладки.
SetTabsVisiblevoid
public void SetTabsVisible(bool visible);Показывать полосу заголовков, true по умолчанию. false убирает полосу и её место в раскладке, сохраняя выбранную страницу и её индекс.
| Имя | Тип | По умолчанию |
|---|---|---|
visible | bool | — |
visibleПоказывать полосу заголовков, true по умолчанию. false убирает полосу и её место в раскладке, сохраняя выбранную страницу и её индекс.
public void SetUseHiddenTabsForMinSize(bool enabled);Учитывать минимумы невидимых, включая неактивные, страниц; false по умолчанию. true берёт покомпонентный максимум размеров страниц и помогает избежать изменения минимума при переключении.
| Имя | Тип | По умолчанию |
|---|---|---|
enabled | bool | — |
enabledУчитывать минимумы невидимых, включая неактивные, страниц; false по умолчанию. true берёт покомпонентный максимум размеров страниц и помогает избежать изменения минимума при переключении.
Сигналы и события7
ActiveTabRearrangedСобытие
public event TabContainer.ActiveTabRearrangedEventHandler ActiveTabRearranged;Уведомление пути перетаскивания о новом индексе активируемой вкладки. Не является общим сигналом любой перестановки: MoveChild из кода сам его не испускает. После изменения порядка заново разрешайте индексы по ссылке/metadata.
| Имя | Тип | По умолчанию |
|---|---|---|
idxTo | long | — |
idxToНовый индекс вкладки после операции перетаскивания.
PrePopupPressedСобытие
public event Action PrePopupPressed;Вызывается кнопкой дополнительного меню перед позиционированием и открытием назначенного Popup. Используйте для обновления пунктов. Не освобождайте/не подменяйте Popup внутри обработчика: текущий путь уже получил ссылку на открываемый объект. SetPopup сам сигнал не испускает.
TabButtonPressedСобытие
public event TabContainer.TabButtonPressedEventHandler TabButtonPressed;Нажата дополнительная кнопка, созданная через SetTabButtonIcon. Передаёт индекс вкладки; контейнер сам не удаляет страницу. Сохраните ссылку/metadata до перестановки или удаления.
| Имя | Тип | По умолчанию |
|---|---|---|
tab | long | — |
tabТекущий индекс вкладки 0…GetTabCount()-1, не постоянный ID.
TabChangedСобытие
public event TabContainer.TabChangedEventHandler TabChanged;Индекс выбранной вкладки изменился, включая программный выбор. Контейнер обновляет видимость страниц перед этим уведомлением; -1 означает отсутствие выбранной страницы. Не испускается при записи того же индекса.
| Имя | Тип | По умолчанию |
|---|---|---|
tab | long | — |
tabИндекс вкладки в момент события; для выбора/смены -1 может означать отсутствие страницы.
TabClickedСобытие
public event TabContainer.TabClickedEventHandler TabClicked;Пользователь кликнул заголовок вкладки. Программный CurrentTab не испускает этот сигнал; клик по уже выбранной вкладке не обязательно меняет страницу.
| Имя | Тип | По умолчанию |
|---|---|---|
tab | long | — |
tabИндекс вкладки в момент события; для выбора/смены -1 может означать отсутствие страницы.
TabHoveredСобытие
public event TabContainer.TabHoveredEventHandler TabHovered;Указатель навёлся на заголовок указанной вкладки. Это не выбор страницы и не сигнал изменения CurrentTab.
| Имя | Тип | По умолчанию |
|---|---|---|
tab | long | — |
tabИндекс вкладки в момент события; для выбора/смены -1 может означать отсутствие страницы.
TabSelectedСобытие
public event TabContainer.TabSelectedEventHandler TabSelected;Выбор вкладки, включая повторный выбор того же индекса и программный CurrentTab. При смене приходит перед TabChanged и обновлением видимости страниц; для готовой смены страницы используйте TabChanged.
| Имя | Тип | По умолчанию |
|---|---|---|
tab | long | — |
tabИндекс вкладки в момент события; для выбора/смены -1 может означать отсутствие страницы.
TabContainer.TabPosition
| Значение | Описание |
|---|---|
Bottom = 1 | Размещает панель вкладок внизу. |
Max = 2 | Представляет размер перечисления |
Top = 0 | Размещает панель вкладок вверху. |
Свойства темы
Это ключи ресурсов Theme, а не свойства C# класса. Используйте методы GetTheme…() и AddTheme…Override() у Control с соответствующим типом значения.
| Ключ и тип | Описание |
|---|---|
drop_mark_colorColor | Цвет модуляции для значка Color(1, 1, 1, 1) |
font_disabled_colorColor | Font Цвет отключённых вкладок. По умолчанию:Color(0.875, 0.875, 0.875, 0.5) |
font_hovered_colorColor | Font Цвет текущей вкладки. Не применяется к выбранной вкладке. По умолчанию:Color(0.95, 0.95, 0.95, 1) |
font_outline_colorColor | Оттенок контура текста названия вкладки. По умолчанию:Color(0, 0, 0, 1) |
font_selected_colorColor | Font Цвет выбранной в настоящее время вкладки. По умолчанию:Color(0.95, 0.95, 0.95, 1) |
font_unselected_colorColor | Font Цвет другой, невыбранных вкладок. По умолчанию:Color(0.7, 0.7, 0.7, 1) |
icon_disabled_colorColor | Цвет значков отключенных вкладок. По умолчанию:Color(1, 1, 1, 1) |
icon_hovered_colorColor | Цвет значка текущей вкладки, на которую наведен курсор. Не применяется к выбранной вкладке. По умолчанию:Color(1, 1, 1, 1) |
icon_selected_colorColor | Цвет значка текущей выбранной вкладки. По умолчанию:Color(1, 1, 1, 1) |
icon_unselected_colorColor | Цвет значков других, невыбранных вкладок. По умолчанию:Color(1, 1, 1, 1) |
icon_max_widthint | Максимально допустимая ширина значка вкладки. Это ограничение применяется поверх размера значка по умолчанию, но до значения, установленного с помощью 0 |
icon_separationint | Пробел между названием вкладки и ее значком. По умолчанию:4 |
outline_sizeint | Размер контура текста вкладки.
Примечание: При использовании шрифта с включенным 0 |
side_marginint | Пространство слева или справа от панели вкладок, в соответствии с текущим 8 |
tab_separationint | Пространство между вкладками на панели вкладок. По умолчанию:0 |
fontFont | Шрифт, используемый для отображения названий вкладок. |
font_sizeint | Font Размер имени вкладок. |
decrementTexture2D | Значок для кнопки со стрелкой влево, которая появляется, когда вкладок слишком много, чтобы поместиться в ширину контейнера. Когда кнопка отключена (т.е. видна первая вкладка), она выглядит полупрозрачной. |
decrement_highlightTexture2D | Значок для кнопки со стрелкой влево, которая появляется, когда вкладок слишком много, чтобы поместиться в ширину контейнера. Используется, когда на кнопку наведен курсор. |
drop_markTexture2D | Значок, показывающий, куда будет помещена перетаскиваемая вкладка (см. |
incrementTexture2D | Значок для кнопки со стрелкой вправо, которая появляется, когда вкладок слишком много, чтобы вписаться в ширину контейнера. Когда кнопка отключена (т.е. видна последняя вкладка), она становится полупрозрачной. |
increment_highlightTexture2D | Значок для кнопки со стрелкой вправо, которая появляется, когда вкладок слишком много, чтобы поместиться в ширину контейнера. Используется, когда на кнопку наведен курсор. |
menuTexture2D | Значок для кнопки меню (см. |
menu_highlightTexture2D | Значок кнопки меню (см. |
drag_ended_soundAudioStream | Играть, когда вкладку затаскивают, чтобы переставить. Слышно только, если |
drag_started_soundAudioStream | Играет, когда вкладка начинает тянуться, чтобы переделать её. Слышно только, если Сосредоточься. |
focus_soundAudioStream | Играл, когда это |
hover_soundAudioStream | Играет, когда вкладка зависает с мышкой. |
pressed_disabled_soundAudioStream | Воспроизводится при нажатии кнопки закрытия вкладки во время выключения вкладки или при нажатии предыдущих/следующих кнопок на вкладке когда уже в начале/конца списка. |
pressed_soundAudioStream | Воспроизведение при нажатии кнопок на вкладке или предыдущих/следующих кнопок. |
panelStyleBox | Стиль заливки фона. |
tab_disabledStyleBox | Стиль отключенных вкладок. |
tab_focusStyleBox |
|
tab_hoveredStyleBox | Стиль текущей вкладки, на которую наведен курсор.
Примечание: Этот стиль будет отрисован с той же шириной, что и |
tab_selectedStyleBox | Стиль текущей выбранной вкладки. |
tab_unselectedStyleBox | Стиль остальных, невыбранных вкладок. |
tabbar_backgroundStyleBox | Стиль фоновой заливки области |