reckfellENGINE

BaseButton

Активация кнопок, переключение состояния и сигналы ввода.

На этой странице
class BaseButtonReckfellSharpНаследует Control

BaseButton задаёт поведение кнопки; для готового оформления используйте Button, CheckBox или CheckButton. По умолчанию ToggleMode = false, Disabled = false, ActionMode = Release, ButtonMask = Left; фокус разрешён. ActionMode выбирает момент активации при вводе, а не задержку программного Press.

Разделяйте действие и состояние. Press активирует кнопку немедленно: в обычном режиме вызывает _Pressed и Pressed; в ToggleMode также переключает состояние, согласует группу и вызывает _Toggled/Toggled. Press учитывает Disabled, но не создаёт пару ButtonDown/ButtonUp и не имитирует удержание мыши. Подписывайте одну и ту же прикладную операцию либо на callback подкласса, либо на сигнал, если не нужны два вызова.

ButtonPressed/SetPressed работают только при ToggleMode = true. При изменении состояния вызывается Toggled, но не Pressed. Повторное присваивание того же значения ничего не уведомляет. SetPressedNoSignal меняет только локальное состояние и перерисовку: не вызывает Toggled/_Toggled и не отключает другие кнопки группы. После загрузки настройки таким способом обновите зависящий интерфейс явно.

Disabled запрещает активацию Press, но не обязательно программное изменение состояния. У выключенного toggle-элемента SetPressed может изменить состояние без собственного Toggled; ButtonGroup при выборе всё ещё может получить Pressed. Не используйте отключённый элемент как единственный источник синхронизации модели.

ButtonGroup предназначена для toggle-кнопок. Назначение ресурса само не выбирает элемент и не исправляет несколько уже включённых кнопок. Обычный переход SetPressed(true) выключает остальных, а SetPressedNoSignal(true) — нет. Повторный SetPressed(true) уже включённого элемента не восстанавливает взаимоисключение. Для начальной настройки выключите все элементы через SetPressedNoSignal(false), затем включите выбранный через SetPressed(true); при необходимости обновите прикладную модель отдельно.

KeepPressedOutside сохраняет вид нажатия за границей, но не разрешает активацию отпусканием снаружи. ShortcutFeedback и ShortcutInTooltip управляют отображением обратной связи и подсказки, не включением сочетания. Shortcut срабатывает через Press при подходящем событии без автоповтора и видимой кнопке; учитывайте маршрутизацию и обработку событий другими элементами.

Объявления сверены с C# SDK 1.0.0. Раскройте имя, чтобы увидеть сигнатуры и описание.

Конструкторы1

BaseButtonКонструктор
# BaseButton
C#
public BaseButton();

Создаёт базовую кнопку: ToggleMode = false, Disabled = false, ActionMode = Release, ButtonMask = Left, FocusMode = All. Для стандартного оформления используйте производный Button.

Свойства10

ActionModeСвойство
# ActionMode
C#
public BaseButton.ActionModeEnum ActionMode { get; set; }

Момент активации пользовательским нажатием: Press при нажатии, Release при отпускании, Release по умолчанию. Программный Press и сочетание Shortcut активируют немедленно.

ButtonGroupСвойство
# ButtonGroup
C#
public ButtonGroup ButtonGroup { get; set; }

Общий ресурс группы toggle-кнопок либо null. Назначение регистрирует членство, но не выбирает кнопку и не исправляет конфликт старых состояний. Не используйте с ToggleMode = false.

ButtonMaskСвойство
# ButtonMask
C#
public MouseButtonMask ButtonMask { get; set; }

Битовая маска принимаемых кнопок мыши, Left по умолчанию. Можно объединять MouseButtonMask.Left | MouseButtonMask.Right. Не отключает ui_accept или Shortcut.

ButtonPressedСвойство
# ButtonPressed
C#
public bool ButtonPressed { get; set; }

Состояние toggle-кнопки. Setter работает только при ToggleMode и вызывает Toggled при обычном изменении, но не Pressed. Для обычной кнопки IsPressed отражает попытку удержания, а не сохранённую настройку.

DisabledСвойство
# Disabled
C#
public bool Disabled { get; set; }

Запрещает активацию Press, false по умолчанию. Не запрещает программный SetPressed; собственные Toggled/callback при этом подавляются. Уже включённый toggle не обязательно выключается.

KeepPressedOutsideСвойство
# KeepPressedOutside
C#
public bool KeepPressedOutside { get; set; }

Сохраняет вид нажатия при выходе указателя за границу во время удержания, false по умолчанию. Не разрешает активацию отпусканием за пределами.

ShortcutСвойство
# Shortcut
C#
public Shortcut Shortcut { get; set; }

Общий ресурс Shortcut либо null. Назначение включает обработку сочетания; matching-событие активирует Press при видимой кнопке и без автоповтора. Disabled блокирует действие.

ShortcutFeedbackСвойство
# ShortcutFeedback
C#
public bool ShortcutFeedback { get; set; }

Показывать краткую визуальную обратную связь при Shortcut, true по умолчанию. false не отключает само сочетание.

ShortcutInTooltipСвойство
# ShortcutInTooltip
C#
public bool ShortcutInTooltip { get; set; }

Добавлять сведения о Shortcut в стандартную подсказку, true по умолчанию. Не включает и не отключает обработку сочетания; пользовательская подсказка может задаваться отдельно.

ToggleModeСвойство
# ToggleMode
C#
public bool ToggleMode { get; set; }

Сохранять состояние включено/выключено, false по умолчанию. CheckBox/CheckButton включают этот режим в конструкторе. Выключение режима сначала снимает toggle-состояние обычным setter и может вызвать Toggled.

Методы26

GetActionModeBaseButton.ActionModeEnum
# GetActionMode
C#
public BaseButton.ActionModeEnum GetActionMode();

Момент активации пользовательским нажатием: Press при нажатии, Release при отпускании, Release по умолчанию. Программный Press и сочетание Shortcut активируют немедленно.

Возвращает BaseButton.ActionModeEnum

Сохранённый режим момента активации вводом.

GetButtonGroupButtonGroup
# GetButtonGroup
C#
public ButtonGroup GetButtonGroup();

Общий ресурс группы toggle-кнопок либо null. Назначение регистрирует членство, но не выбирает кнопку и не исправляет конфликт старых состояний. Не используйте с ToggleMode = false.

Возвращает ButtonGroup

Общий ButtonGroup либо null.

GetButtonMaskMouseButtonMask
# GetButtonMask
C#
public MouseButtonMask GetButtonMask();

Битовая маска принимаемых кнопок мыши, Left по умолчанию. Можно объединять MouseButtonMask.Left | MouseButtonMask.Right. Не отключает ui_accept или Shortcut.

Возвращает MouseButtonMask

Битовая маска MouseButtonMask.

GetDrawModeBaseButton.DrawMode
# GetDrawMode
C#
public BaseButton.DrawMode GetDrawMode();

Возвращает логический режим оформления Normal/Pressed/Hover/Disabled/HoverPressed, учитывая взаимодействие и shortcut feedback. Это не setter темы и не сохранённый ButtonPressed.

Возвращает BaseButton.DrawMode

Текущий логический BaseButton.DrawMode.

GetShortcutShortcut
# GetShortcut
C#
public Shortcut GetShortcut();

Общий ресурс Shortcut либо null. Назначение включает обработку сочетания; matching-событие активирует Press при видимой кнопке и без автоповтора. Disabled блокирует действие.

Возвращает Shortcut

Общий Shortcut либо null.

IsDisabledbool
# IsDisabled
C#
public bool IsDisabled();

Запрещает активацию Press, false по умолчанию. Не запрещает программный SetPressed; собственные Toggled/callback при этом подавляются. Уже включённый toggle не обязательно выключается.

Возвращает bool

true, если активация запрещена.

IsHoveredbool
# IsHovered
C#
public bool IsHovered();

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

Возвращает bool

true при отслеживаемом наведении указателя.

IsKeepPressedOutsidebool
# IsKeepPressedOutside
C#
public bool IsKeepPressedOutside();

Сохраняет вид нажатия при выходе указателя за границу во время удержания, false по умолчанию. Не разрешает активацию отпусканием за пределами.

Возвращает bool

true, если вид нажатия сохраняется снаружи во время удержания.

IsPressedbool
# IsPressed
C#
public bool IsPressed();

Состояние toggle-кнопки. Setter работает только при ToggleMode и вызывает Toggled при обычном изменении, но не Pressed. Для обычной кнопки IsPressed отражает попытку удержания, а не сохранённую настройку.

Возвращает bool

Toggle-состояние либо текущая попытка удержания обычной кнопки.

IsShortcutFeedbackbool
# IsShortcutFeedback
C#
public bool IsShortcutFeedback();

Показывать краткую визуальную обратную связь при Shortcut, true по умолчанию. false не отключает само сочетание.

Возвращает bool

true, если включена визуальная обратная связь сочетания.

IsShortcutInTooltipEnabledbool
# IsShortcutInTooltipEnabled
C#
public bool IsShortcutInTooltipEnabled();

Добавлять сведения о Shortcut в стандартную подсказку, true по умолчанию. Не включает и не отключает обработку сочетания; пользовательская подсказка может задаваться отдельно.

Возвращает bool

true, если сведения о сочетании разрешены в подсказке.

IsToggleModebool
# IsToggleMode
C#
public bool IsToggleMode();

Сохранять состояние включено/выключено, false по умолчанию. CheckBox/CheckButton включают этот режим в конструкторе. Выключение режима сначала снимает toggle-состояние обычным setter и может вызвать Toggled.

Возвращает bool

true для сохраняемого состояния переключателя.

Pressvoid
# Press
C#
public void Press();

Немедленно активирует, учитывая Disabled. В toggle-режиме переключает состояние и согласует группу; затем вызывает Toggled и Pressed. Не создаёт ButtonDown/ButtonUp и не требует физического ввода. Повторная активация обязательной группы может оставить true, но снова уведомить.

SetActionModevoid
# SetActionMode
C#
public void SetActionMode(BaseButton.ActionModeEnum mode);

Момент активации пользовательским нажатием: Press при нажатии, Release при отпускании, Release по умолчанию. Программный Press и сочетание Shortcut активируют немедленно.

Параметры
ИмяТипПо умолчанию
modeBaseButton.ActionModeEnum—
mode

Момент активации пользовательским нажатием: Press при нажатии, Release при отпускании, Release по умолчанию. Программный Press и сочетание Shortcut активируют немедленно.

SetButtonGroupvoid
# SetButtonGroup
C#
public void SetButtonGroup(ButtonGroup buttonGroup);

Общий ресурс группы toggle-кнопок либо null. Назначение регистрирует членство, но не выбирает кнопку и не исправляет конфликт старых состояний. Не используйте с ToggleMode = false.

Параметры
ИмяТипПо умолчанию
buttonGroupButtonGroup—
buttonGroup

Общий ресурс группы toggle-кнопок либо null. Назначение регистрирует членство, но не выбирает кнопку и не исправляет конфликт старых состояний. Не используйте с ToggleMode = false.

SetButtonMaskvoid
# SetButtonMask
C#
public void SetButtonMask(MouseButtonMask mask);

Битовая маска принимаемых кнопок мыши, Left по умолчанию. Можно объединять MouseButtonMask.Left | MouseButtonMask.Right. Не отключает ui_accept или Shortcut.

Параметры
ИмяТипПо умолчанию
maskMouseButtonMask—
mask

Битовая маска принимаемых кнопок мыши, Left по умолчанию. Можно объединять MouseButtonMask.Left | MouseButtonMask.Right. Не отключает ui_accept или Shortcut.

SetDisabledvoid
# SetDisabled
C#
public void SetDisabled(bool disabled);

Запрещает активацию Press, false по умолчанию. Не запрещает программный SetPressed; собственные Toggled/callback при этом подавляются. Уже включённый toggle не обязательно выключается.

Параметры
ИмяТипПо умолчанию
disabledbool—
disabled

Запрещает активацию Press, false по умолчанию. Не запрещает программный SetPressed; собственные Toggled/callback при этом подавляются. Уже включённый toggle не обязательно выключается.

SetKeepPressedOutsidevoid
# SetKeepPressedOutside
C#
public void SetKeepPressedOutside(bool enabled);

Сохраняет вид нажатия при выходе указателя за границу во время удержания, false по умолчанию. Не разрешает активацию отпусканием за пределами.

Параметры
ИмяТипПо умолчанию
enabledbool—
enabled

Сохраняет вид нажатия при выходе указателя за границу во время удержания, false по умолчанию. Не разрешает активацию отпусканием за пределами.

SetPressedvoid
# SetPressed
C#
public void SetPressed(bool pressed);

Состояние toggle-кнопки. Setter работает только при ToggleMode и вызывает Toggled при обычном изменении, но не Pressed. Для обычной кнопки IsPressed отражает попытку удержания, а не сохранённую настройку.

Параметры
ИмяТипПо умолчанию
pressedbool—
pressed

Желаемое toggle-состояние; без ToggleMode запись игнорируется.

SetPressedNoSignalvoid
# SetPressedNoSignal
C#
public void SetPressedNoSignal(bool pressed);

Меняет состояние только при ToggleMode, без Toggled/_Toggled, Pressed и сигналов группы. Не отключает другие элементы ButtonGroup, поэтому может создать несколько выбранных. Зависимую модель обновляйте явно.

Параметры
ИмяТипПо умолчанию
pressedbool—
pressed

Желаемое toggle-состояние; без ToggleMode запись игнорируется.

SetShortcutvoid
# SetShortcut
C#
public void SetShortcut(Shortcut shortcut);

Общий ресурс Shortcut либо null. Назначение включает обработку сочетания; matching-событие активирует Press при видимой кнопке и без автоповтора. Disabled блокирует действие.

Параметры
ИмяТипПо умолчанию
shortcutShortcut—
shortcut

Общий ресурс Shortcut либо null. Назначение включает обработку сочетания; matching-событие активирует Press при видимой кнопке и без автоповтора. Disabled блокирует действие.

SetShortcutFeedbackvoid
# SetShortcutFeedback
C#
public void SetShortcutFeedback(bool enabled);

Показывать краткую визуальную обратную связь при Shortcut, true по умолчанию. false не отключает само сочетание.

Параметры
ИмяТипПо умолчанию
enabledbool—
enabled

Показывать краткую визуальную обратную связь при Shortcut, true по умолчанию. false не отключает само сочетание.

SetShortcutInTooltipvoid
# SetShortcutInTooltip
C#
public void SetShortcutInTooltip(bool enabled);

Добавлять сведения о Shortcut в стандартную подсказку, true по умолчанию. Не включает и не отключает обработку сочетания; пользовательская подсказка может задаваться отдельно.

Параметры
ИмяТипПо умолчанию
enabledbool—
enabled

Добавлять сведения о Shortcut в стандартную подсказку, true по умолчанию. Не включает и не отключает обработку сочетания; пользовательская подсказка может задаваться отдельно.

SetToggleModevoid
# SetToggleMode
C#
public void SetToggleMode(bool enabled);

Сохранять состояние включено/выключено, false по умолчанию. CheckBox/CheckButton включают этот режим в конструкторе. Выключение режима сначала снимает toggle-состояние обычным setter и может вызвать Toggled.

Параметры
ИмяТипПо умолчанию
enabledbool—
enabled

Сохранять состояние включено/выключено, false по умолчанию. CheckBox/CheckButton включают этот режим в конструкторе. Выключение режима сначала снимает toggle-состояние обычным setter и может вызвать Toggled.

_Pressedvoid
# _Pressed
C#
public virtual void _Pressed();

Виртуальный callback подкласса при активации перед сигналом Pressed. Не вызывается обычной записью toggle-состояния. Не вызывайте его вместо Press для имитации действия.

_Toggledvoid
# _Toggled
C#
public virtual void _Toggled(bool toggledOn);

Виртуальный callback перед Toggled при уведомлении toggle-состояния. SetPressedNoSignal и Disabled подавляют его; аргумент не гарантирует, что число уведомлений равно числу переходов состояния.

Параметры
ИмяТипПо умолчанию
toggledOnbool—
toggledOn

Уведомляемое toggle-состояние; true может повториться без перехода в обязательной группе.

Сигналы и события4

ButtonDownСобытие
# ButtonDown
C#
public event Action ButtonDown;

Начало принятого удержания через ввод. Это не окончательная активация и не программный Press. Момент Pressed отдельно зависит от ActionMode.

ButtonUpСобытие
# ButtonUp
C#
public event Action ButtonUp;

Завершение принятого удержания через ввод; отключение активной кнопки также может завершить его. Не гарантирует активацию и не создаётся программным Press.

PressedСобытие
# Pressed
C#
public event Action Pressed;

Кнопка активирована через пользовательский ввод или Press. Обычные SetPressed/SetPressedNoSignal не испускают этот сигнал. Для состояния переключателя используйте Toggled и ButtonPressed.

ToggledСобытие
# Toggled
C#
public event BaseButton.ToggledEventHandler Toggled;

Уведомление toggle-состояния. Обычный изменяющий SetPressed вызывает его; SetPressedNoSignal и Disabled подавляют. Press выбранной кнопки обязательной группы может снова передать true без изменения состояния.

Параметры обработчика
ИмяТипПо умолчанию
toggledOnbool—
toggledOn

Уведомляемое toggle-состояние; true может повториться без перехода в обязательной группе.

BaseButton.ActionModeEnum

ЗначениеОписание
Press = 0

Для того, чтобы кнопка считалась нажатой, достаточно одного нажатия.

Release = 1

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

BaseButton.DrawMode

ЗначениеОписание
Disabled = 3

Состояние кнопок — отключено.

Hover = 2

Состояние кнопок наведено.

HoverPressed = 4

Состояние кнопок — наведенное и нажатое.

Normal = 0

Нормальное состояние кнопок (т. е. не нажато, не наведено, не переключено и не включено).

Pressed = 1

Состояние кнопок нажато.

Свойства темы

Это ключи ресурсов Theme, а не свойства C# класса. Используйте методы GetTheme…() и AddTheme…Override() у Control с соответствующим типом значения.

Ключ и типОписание
click_margin
int

Определяет расстояние вокруг области кнопки, которое все еще считается правильным щелчком. Это полезно для облегчения нажатия на маленькие кнопки.

Сосредоточься.

По умолчанию: 0
focus_sound
AudioStream

Играл, когда это BaseButton Мышь или мышечная фокусировка не играют в фокус-звук.

hover_sound
AudioStream

Играет, когда кнопка зависает с мышкой.

pressed_disabled_sound
AudioStream

Проигрывается при нажатии кнопки любым методом ввода, но имеет BaseButton.Disabled установлен в true.

pressed_sound
AudioStream

Проигрывается при нажатии кнопки с помощью любого метода ввода.

Документация Reckfell EngineНаверх ↑
БЫСТРЫЙ ПЕРЕХОДНачало работыEntity и иерархияC# & .NET 10Сцены и префабы
Руководства и полный API Reckfell K
reckfellENGINE
RECKFELL ACCOUNT

Вход в аккаунт

Войдите в аккаунт Reckfell.

Один аккаунт для всей платформы Reckfell.