IButtonControl インターフェイス
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
コントロールがフォーム上のボタンのように動作できるようにします。
public interface class IButtonControl
public interface IButtonControl
type IButtonControl = interface
Public Interface IButtonControl
- 派生
例
次の例では、 ButtonBase クラスを継承し、 インターフェイスを IButtonControl 実装します。 実装は、 プロパティと メソッドおよび PerformClick メソッドにNotifyDefault追加DialogResultされます。
#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 );
}
}
};
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);
}
}
}
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
注釈
このインターフェイスを実装する場所の例は、既定で、ボタンの処理を取り消します。 既定のボタンは、ダイアログ ボックスが閉じられるのと同様に、フォームに対して未処理の ENTER キーが入力されると通知されます。 同様に、キャンセル ボタンは、ダイアログ ボックスが閉じるのと同じように、処理されていない ESC キーがフォームに入力されるたびに通知されます。
注意 (実装者)
ボタン コントロールとして機能するクラスにこのインターフェイスを実装します。 このインターフェイスのメンバーは、親フォームに を提供したり、イベントを DialogResult 実行 Click したり、フォームの既定のボタンとして機能したりするなどの基本的なボタン機能を提供します。
プロパティ
DialogResult |
ボタンがクリックされたときに親フォームに返される値を取得または設定します。 |
メソッド
NotifyDefault(Boolean) |
コントロールに、それが既定のボタンであり、外観と動作が調整されていることが通知されます。 |
PerformClick() |
コントロールの Click イベントを生成します。 |
適用対象
こちらもご覧ください
.NET