IButtonControl Interface
Allows a control to act like a button on a form.
Assembly: System.Windows.Forms (in System.Windows.Forms.dll)
| Name | Description | |
|---|---|---|
![]() | DialogResult | Gets or sets the value returned to the parent form when the button is clicked. |
| Name | Description | |
|---|---|---|
![]() | NotifyDefault(Boolean) | 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 Implementers:
Implement 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.dll> #using <System.Drawing.dll> #using <System.Windows.Forms.dll> using namespace System; using namespace System::Windows::Forms; using namespace System::Drawing; public ref class MyButton: public ButtonBase, public IButtonControl { private: System::Windows::Forms::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; } property System::Windows::Forms::DialogResult DialogResult { // Add implementation to the IButtonControl.DialogResult property. virtual System::Windows::Forms::DialogResult get() { return this->myDialogResult; } virtual void set( System::Windows::Forms::DialogResult value ) { if ( Enum::IsDefined( System::Windows::Forms::DialogResult::typeid, value ) ) { this->myDialogResult = value; } } } // Add implementation to the IButtonControl.NotifyDefault method. virtual void NotifyDefault( bool value ) { if ( this->IsDefault != value ) { this->IsDefault = value; } } // Add implementation to the IButtonControl.PerformClick method. virtual void PerformClick() { if ( this->CanSelect ) { this->OnClick( EventArgs::Empty ); } } };
Available since 1.1

