RadioButton - ahatornn/clforms GitHub Wiki
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>
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
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.
| Syntax | Description |
|---|---|
| RadioButton() | Initialize a new instance RadioButton |
| RadioButton(string text) | Initialize a new instance RadioButton with value of ButtonBase.Text property |
| 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 |
| 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 |
| 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 |