RadioButton - ahatornn/clforms GitHub Wiki

RadioButton

ClForms.Elements.RadioButton
Enables the user to select a single option from a group of choices when paired with other RadioButton controls

public class RadioButton: ButtonBase, IElementStyle<RadioButton>

Inheritance Control -> BaseFocusableControl -> ButtonBase -> RadioButton
Derived IElementStyle<RadioButton>

Examples

The following code example creates and initializes three RadioButton controls in a GroupBox.

var grBox1 = new GroupBox()
{
    Text = "Group1",
    Margin = new Thickness(0, 0, 0, 1),
    Padding = new Thickness(2, 0),
};
var grStackPanel1 = new StackPanel(Orientation.Vertical);
for (int i = 1; i <= 3; i++)
{
    var rButton = new RadioButton($"RadioButton{i}");
    rButton.OnCheckedChanged += CheckedChanged;
    grStackPanel1.AddContent(rButton);
}
grBox1.AddContent(grStackPanel1);private void CheckedChanged(object sender, PropertyChangedEventArgs<bool> e)
{
    if (e.NewValue && sender is RadioButton radioButton)
    {
        propertyChangedLabel.Text = 
            $"You checked {radioButton.Text} in {groupBox.Text}";
    }
}

You can find more examples of using the RadioButton in this project

Remarks

When the user selects one option button (also known as a radio button) within a group, the others clear automatically. All RadioButton controls in a given container, such as a Panel, constitute a group. To create multiple groups on one form, place each group in its own container, such as a GroupBox or Panel control.

RadioButton and CheckBox controls have a similar function: they offer choices a user can select or clear. The difference is that multiple CheckBox controls can be selected at the same time, but option buttons are mutually exclusive.

Use the Checked property to get or set the state of a RadioButton.

Constructors

Syntax Description
RadioButton() Initialize a new instance RadioButton
RadioButton(string text) Initialize a new instance RadioButton with value of ButtonBase.Text property

Properties

Name Type Description
AutoSize bool Gets or sets a value indicating whether the control is resized in accordance with its contents
Background Color Gets or sets a brush that describes the background of a control
BackgroundIsTransparent bool Gets a value indicating whether the Background has Color.NotSet
Bounds Rect Gets the size and location of the control including its nonclient elements, in points, relative to the parent control
Checked bool Gets or sets a value indicating whether the control is checked
DesiredSize Size Gets the size that this element computed during the measure pass of the layout process
DisabledBackground Color Gets or sets a value to display of background when the control is disabled
DisabledForeground Color Gets or sets a value to display of text color when the control is disabled
DrawingContext IDrawingContext Gets a value of the drawing context
FocusBackground Color Focused component background color
FocusForeground Color Focused component text color
Foreground Color Gets or sets a brush that describes the text of a control
ForegroundIsTransparent bool Gets a value indicating whether the Foreground has Color.NotSet
Height int? Gets or sets the height of the control
Id long Gets a value of the control's identifier
IsDisabled bool Gets or sets a value indicating whether the control cannot respond to user interaction
IsFocus bool Gets or sets focus value of component
IsMeasureValid bool Gets a value indicating whether component sizing was performed
IsVisualValid bool Gets a value indicating whether the component is being re-rendered
Location Point Gets or sets the coordinates of the upper-left corner of the control relative to the upper-left corner of its container
Margin Thickness Gets or sets the outer margin of an element
Padding Thickness Gets or sets a Thickness value that describes the amount of space between a control and its child element
Parent ContentControl Gets or sets the parent container of the control
TabIndex int Gets or sets the sequence for moving the TAB key between the controls inside the container
TabStop bool Gets or sets a value indicating whether the user can focus on the given control using the TAB key
Tag object Gets or sets the object that contains data about the control
Text string Gets or sets the text associated with this control
TextAlignment TextAlignment Gets or sets the horizontal alignment of the contents of the text
Width int? Gets or sets the width of the control
WordWrap bool Indicates whether a multiline text box control automatically wraps words to the beginning of the next line when necessary

Methods

Syntax Description
Arrange(Rect) Positions child elements and determines a size for a Control. Parent elements call this method from their Arrange(Rect) implementation to form a recursive layout update
CanFocus() Indicates whether component focus can be set
InputAction(ConsoleKeyInfo) Handles a keystroke
InvalidateMeasure() Invalidates the measurement state (layout) for the element
InvalidateMeasureIfAutoSize() Invalidates the measurement state (layout) for the element if AutoSize property is true otherwise invalidates the rendering of the element
InvalidateVisual() Invalidates the rendering of the element, and forces a complete new layout pass. OnRender(IDrawingContext) is called after the layout cycle is completed
Measure(Size) Updates DesiredSize of a Control. Parent elements call this method from their own Measure(Size) implementations to form a recursive layout update
OnRender(IDrawingContext) Filling a pseudographics drawing context
ParentWindow() Gets the form the control is in
SetFocus() Sets input focus to current item
SetStyle(Action) Defines actions with an element style

Events

Event Description
OnAutoSizeChanged Occurs when the value of the AutoSize property changes
OnBackgroundChanged Occurs when the value of the Background property changes
OnCheckedChanged Occurs when the value of the Checked property changes
OnClick Occurs when the ButtonBase control is clicked
OnDisabledBackgroundChanged Occurs when the value of the DisabledBackground property changes
OnDisabledChanged Occurs when the value of the IsDisabled property changes
OnDisabledForegroundChanged Occurs when the value of the DisabledForeground property changes
OnEnter Input focus event
OnFocusBackgroundChanged Occurs when the value of the FocusBackground property changes
OnFocusChanged Occurs when the value of the IsFocus property changes
OnFocusForegroundChanged Occurs when the value of the FocusForeground property changes
OnForegroundChanged Occurs when the value of the Foreground property changes
OnHeightChanged Occurs when the value of the Height property changes
OnLeave Input focus loss event
OnMarginChanged Occurs when the value of the Margin property changes
OnPaddingChanged Occurs when the value of the Padding property changes
OnParentChanged Occurs when the value of the Parent property changes
OnTabIndexChanged Occurs when a property value of TabIndex changes
OnTabStopChanged Occurs when a property value of TabStop changes
OnTagChanged Occurs when the value of the Tag property changes
OnTextAlignmentChanged Occurs when the value of the TextAlignment property changes
OnTextChanged Occurs when the value of the Text property changes
OnWidthChanged Occurs when the value of the Width property changes
OnWordWrapChanged Occurs when the value of the WordWrap property changes
⚠️ **GitHub.com Fallback** ⚠️