Button - ahatornn/clforms GitHub Wiki
ClForms.Elements.Button
Represents a common button control
public class Button: ButtonBase, IElementStyle<Button>Inheritance Control -> BaseFocusableControl -> ButtonBase -> Button
Derived IElementStyle<Button>
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
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.
| Syntax | Description |
|---|---|
| Button() | Initialize a new instance Button |
| Button(string text) | Initialize a new instance Button |
| 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 |
| 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 |
| 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 |