IButtonControl 接口
允许控件用作窗体上的按钮。
**命名空间:**System.Windows.Forms
**程序集:**System.Windows.Forms(在 system.windows.forms.dll 中)
语法
声明
Public Interface IButtonControl
用法
Dim instance As IButtonControl
public interface IButtonControl
public interface class IButtonControl
public interface IButtonControl
public interface IButtonControl
备注
在何处可能实现该接口的示例是默认处理和取消按钮的处理。当为窗体输入未经处理的 Enter 键时,默认按钮收到通知,就好像要关闭一个对话框一样。同样,当在窗体中输入未经处理的 Esc 键时,取消按钮收到通知,就好像要消除一个对话框一样。
给实现者的说明 在用作按钮控件的类中实现该接口。该接口的成员将提供基本按钮功能,例如,为父窗体提供 DialogResult 或提供执行 Click 事件的功能,或用作窗体默认按钮。
示例
下面的示例从 ButtonBase 类继承,并实现 IButtonControl 接口。将实现添加到 DialogResult 属性以及 NotifyDefault 和 PerformClick 方法。
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
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);
}
}
}
#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 );
}
}
};
import System.*;
import System.Windows.Forms.*;
import System.Drawing.*;
public class MyButton extends ButtonBase implements IButtonControl
{
private DialogResult myDialogResult;
public MyButton()
{
// Make the button White and a Popup style
// so it can be distinguished on the form.
this.set_FlatStyle(get_FlatStyle().Popup);
this.set_BackColor(Color.get_White());
} //MyButton
// Add implementation to the IButtonControl.DialogResult property.
/** @property
*/
public DialogResult get_DialogResult()
{
return this.myDialogResult;
} //get_DialogResult
/** @property
*/
public void set_DialogResult(DialogResult value)
{
if (Enum.IsDefined(get_DialogResult().getClass().ToType(), value)) {
this.myDialogResult = value;
}
}
// Add implementation to the IButtonControl.NotifyDefault method.
public void NotifyDefault(boolean value)
{
if (this.get_IsDefault() != value) {
this.set_IsDefault(value);
}
} //NotifyDefault
// Add implementation to the IButtonControl.PerformClick method.
public void PerformClick()
{
if (this.get_CanSelect()) {
this.OnClick(EventArgs.Empty);
}
} //PerformClick
} //MyButton
平台
Windows 98、Windows 2000 SP4、Windows CE、Windows Millennium Edition、Windows Mobile for Pocket PC、Windows Mobile for Smartphone、Windows Server 2003、Windows XP Media Center Edition、Windows XP Professional x64 Edition、Windows XP SP2、Windows XP Starter Edition
.NET Framework 并不是对每个平台的所有版本都提供支持。有关受支持版本的列表,请参见系统要求。
版本信息
.NET Framework
受以下版本支持:2.0、1.1、1.0