Button - ahatornn/clforms GitHub Wiki

Button

ClForms.Elements.Button
Represents a common button control

public class Button: ButtonBase, IElementStyle<Button>

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

Examples

The following code example creates a Button, sets its Text property to "Button text", and adds event handler

var btn = new Button("Button text");
btn.OnClick += BtnClick;private void BtnClick(object sender, System.EventArgs e)
{
    if(sender is Button btn)
    {
        MessageBox.Show($"Button text is {btn.Text}");
    }
}

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

Remarks

A Button can be clicked by using ENTER key, or SPACEBAR if the button has focus.
The Background property as default equals Application.SystemColors.ButtonFace value. The Foreground property as default equals Application.SystemColors.ButtonText value. The DisabledBackground property as default equals Application.SystemColors.ButtonInactiveFace value. The DisabledForeground property as default equals Application.SystemColors.ButtonInactiveText value. The FocusBackground property as default equals Application.SystemColors.ButtonFocusedFace value. The FocusForeground property as default equals Application.SystemColors.ButtonFocusedText value. All values defined in DefaultSystemColors.
As default left and right Padding equals 2 points and TextAlignment property is TextAlignment.Center.
When you display a form using the ShowDialog method, you can use the DialogResult property of a button to specify the return value of ShowDialog.

Constructors

Syntax Description
Button() Initialize a new instance Button
Button(string text) Initialize a new instance Button

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
DesiredSize Size Gets the size that this element computed during the measure pass of the layout process
DialogResult DialogResult Gets or sets a value that is returned to the parent form when the button is clicked
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
OnClick Occurs when the ButtonBase control is clicked
OnDialogResultChanged Occurs when the value of the DialogResult property changes
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** ⚠️