IButtonControl Interface
Allows a control to act like a button on a form.
For a list of all members of this type, see IButtonControl Members.
[Visual Basic] Public Interface IButtonControl [C#] public interface IButtonControl [C++] public __gc __interface IButtonControl [JScript] public interface IButtonControl
Classes that Implement IButtonControl
| Class | Description |
|---|---|
| Button | Represents a Windows button control. |
| LinkLabel | Represents a Windows label control that can display hyperlinks. |
Remarks
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.
Example
[Visual Basic, C#, C++] 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.
[Visual Basic] Imports System Imports System.Windows.Forms Imports System.Drawing Public Class MyButton Inherits ButtonBase Implements IButtonControl Private myDialogResult As DialogResult Public Sub New() ' Make the button White and a Popup style ' so it can be distinguished on the form. Me.FlatStyle = FlatStyle.Popup Me.BackColor = Color.White End Sub ' Add implementation to the IButtonControl.DialogResult property. Public Property DialogResult() As DialogResult Implements IButtonControl.DialogResult Get Return Me.myDialogResult End Get Set If [Enum].IsDefined(GetType(DialogResult), value) Then Me.myDialogResult = value End If End Set End Property ' Add implementation to the IButtonControl.NotifyDefault method. Public Sub NotifyDefault(value As Boolean) Implements IButtonControl.NotifyDefault If Me.IsDefault <> value Then Me.IsDefault = value End If End Sub ' Add implementation to the IButtonControl.PerformClick method. Public Sub PerformClick() Implements IButtonControl.PerformClick If Me.CanSelect Then Me.OnClick(EventArgs.Empty) End If End Sub End Class [C#] 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); } } } [C++] #using <mscorlib.dll> #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 __gc 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; } // Add implementation to the IButtonControl.DialogResult property. __property System::Windows::Forms::DialogResult get_DialogResult() { return this->myDialogResult; } __property void set_DialogResult( System::Windows::Forms::DialogResult value ) { if(Enum::IsDefined(__typeof(System::Windows::Forms::DialogResult),__box(value))) { this->myDialogResult = value; } } // Add implementation to the IButtonControl.NotifyDefault method. void NotifyDefault(bool value) { if(this->IsDefault != value) { this->IsDefault = value; } } // Add implementation to the IButtonControl.PerformClick method. void PerformClick() { if(this->CanSelect) { this->OnClick(EventArgs::Empty); } } };
[JScript] No example is available for JScript. To view a Visual Basic, C#, or C++ example, click the Language Filter button
in the upper-left corner of the page.
Requirements
Namespace: System.Windows.Forms
Platforms: Windows 98, Windows NT 4.0, Windows Millennium Edition, Windows 2000, Windows XP Home Edition, Windows XP Professional, Windows Server 2003 family
Assembly: System.Windows.Forms (in System.Windows.Forms.dll)
See Also
IButtonControl Members | System.Windows.Forms Namespace | Button | Form