IButtonControl Interface
Allows a control to act like a button on a form.
Namespace: System.Windows.Forms
Assembly: System.Windows.Forms (in System.Windows.Forms.dll)
The IButtonControl type exposes the following members.
| Name | Description | |
|---|---|---|
![]() | DialogResult | Gets or sets the value returned to the parent form when the button is clicked. |
| Name | Description | |
|---|---|---|
![]() | NotifyDefault | Notifies a control that it is the default button so that its appearance and behavior is adjusted accordingly. |
![]() | PerformClick | Generates a Click event for the control. |
An example of where this interface might be implemented is default and cancel button processing. Default buttons are notified when an unprocessed ENTER key is entered for a form, just like a dialog box would be closed. Similarly, cancel buttons are notified whenever an unprocessed ESC key is entered on a form, much like a dialog box would be dismissed.
Notes to ImplementersImplement this interface in classes that act as button controls. The members of this interface will provide basic button functionality, such as providing a DialogResult to the parent form or the ability to perform a Click event, or acting as the default button of a form.
The following example inherits from the ButtonBase class and implements the IButtonControl interface. Implementation is added to the DialogResult property and the NotifyDefault and PerformClick methods.
using System; using System.Windows.Forms; using System.Drawing; public class MyButton : ButtonBase, IButtonControl { private DialogResult myDialogResult; public MyButton() { // Make the button White and a Popup style // so it can be distinguished on the form. this.FlatStyle = FlatStyle.Popup; this.BackColor = Color.White; } // Add implementation to the IButtonControl.DialogResult property. public DialogResult DialogResult { get { return this.myDialogResult; } set { if(Enum.IsDefined(typeof(DialogResult), value)) { this.myDialogResult = value; } } } // Add implementation to the IButtonControl.NotifyDefault method. public void NotifyDefault(bool value) { if(this.IsDefault != value) { this.IsDefault = value; } } // Add implementation to the IButtonControl.PerformClick method. public void PerformClick() { if(this.CanSelect) { this.OnClick(EventArgs.Empty); } } }
Windows 8, Windows Server 2012, Windows 7, Windows Vista SP2, Windows Server 2008 (Server Core Role not supported), Windows Server 2008 R2 (Server Core Role supported with SP1 or later; Itanium not supported)
The .NET Framework does not support all versions of every platform. For a list of the supported versions, see .NET Framework System Requirements.
