IButtonControl 接口

定义

允许控件用作窗体上的按钮。

C#
public interface IButtonControl
派生

示例

下面的示例继承自 ButtonBase 类并实现 IButtonControl 接口。 将实现添加到 DialogResult 属性和 NotifyDefaultPerformClick 方法。

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);
        }
    }
}

注解

可以实现此接口的一个示例是默认和取消按钮处理。 为窗体输入未处理的 ENTER 键时,默认按钮会收到通知,就像关闭对话框一样。 同样,每当在窗体上输入未处理的 ESC 键时,都会通知取消按钮,就像取消对话框一样。

实施者说明

在充当按钮控件的类中实现此接口。 此接口的成员将提供基本的按钮功能,例如向父窗体提供 DialogResult 或执行 Click 事件的功能,或充当窗体的默认按钮。

属性

DialogResult

获取或设置单击按钮时返回给父窗体的值。

方法

NotifyDefault(Boolean)

通知某个控件是默认按钮,以便相应调整其外观和行为。

PerformClick()

为该控件生成 Click 事件。

适用于

产品 版本
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
Windows Desktop 3.0, 3.1, 5, 6, 7, 8, 9, 10

另请参阅