IButtonControl IButtonControl IButtonControl IButtonControl Interface

定義

コントロールがフォーム上のボタンのように動作できるようにします。Allows a control to act like a button on a form.

public interface class IButtonControl
public interface IButtonControl
type IButtonControl = interface
Public Interface IButtonControl
派生

次の例では、 ButtonBaseクラスを継承しIButtonControl 、インターフェイスを実装しています。The following example inherits from the ButtonBase class and implements the IButtonControl interface. 実装は、 DialogResultプロパティ、メソッド、 NotifyDefaultおよびPerformClickメソッドに追加されます。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 );
      }
   }
};
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

注釈

このインターフェイスを実装する例として、[既定] および [キャンセル] ボタンの処理があります。An example of where this interface might be implemented is default and cancel button processing. ダイアログボックスを閉じた場合と同様に、フォームに未処理の ENTER キーが入力されると、既定のボタンに通知されます。Default buttons are notified when an unprocessed ENTER key is entered for a form, just like a dialog box would be closed. 同様に、[キャンセル] ボタンには、ダイアログボックスが閉じられるように、未処理の ESC キーがフォームに入力されるたびに通知されます。Similarly, cancel buttons are notified whenever an unprocessed ESC key is entered on a form, much like a dialog box would be dismissed.

注意 (実装者)

ボタンコントロールとして機能するクラスにこのインターフェイスを実装します。Implement this interface in classes that act as button controls. このインターフェイスのメンバーは、をDialogResult親フォームに提供したり、 Clickイベントを実行したり、フォームの既定のボタンとして機能したりするなど、基本的なボタン機能を提供します。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.

プロパティ

DialogResult DialogResult DialogResult DialogResult

ボタンがクリックされたときに親フォームに返される値を取得または設定します。Gets or sets the value returned to the parent form when the button is clicked.

メソッド

NotifyDefault(Boolean) NotifyDefault(Boolean) NotifyDefault(Boolean) NotifyDefault(Boolean)

コントロールに、それが既定のボタンであり、外観と動作が調整されていることが通知されます。Notifies a control that it is the default button so that its appearance and behavior is adjusted accordingly.

PerformClick() PerformClick() PerformClick() PerformClick()

コントロールの Click イベントを生成します。Generates a Click event for the control.

適用対象

こちらもご覧ください