如何绑定按钮和标签

时间:2015-01-16 22:55:45

标签: c# winforms button label

我将按钮控件扩展为也具有LabelName。当我按下按钮时,我需要在标签中写下按钮的名称。 我的第一个想法是使用事件 - 简单易行。 问题是:有更优雅的方式吗? (我被要求绑定按钮和标签)...

2 个答案:

答案 0 :(得分:1)

我认为最好的方法是使用动作监听器,使用动作监听器的最佳方法是将它构建到扩展按钮控件的类中,这样用户就不会这样做了。必须自己做。它看起来像这样。

class Button2 : Button
{
    public string LabelName = "";
    public Button2()
    {
        this.Click += this.SetLabelName;
    }
    private void SetLabelName(object sender, EventArgs e)
    {
        this.LabelName = "Something?";
    }
//You could also do this instead.
    protected override void OnClick(EventArgs e)
        {
            base.OnClick(e);
        }
    }

答案 1 :(得分:0)

如果您正在讨论更改外部标签控件的Text属性,则只需在Button中创建一个属性即可保存对Label的引用。您可以像通过任何其他属性一样通过IDE进行设置:

Setting the associated Label for the Button

这是Button类:

public class MyButton : Button
{

    private Label _Label = null;

    public Label Label
    {
        get { return _Label; }
        set { _Label = value; }
    }

    protected override void OnClick(EventArgs e)
    {
        base.OnClick(e);
        if (this.Label != null)
        {
            this.Label.Text = this.Name;
        }
    }

}

点击按钮后,这是标签:

The Label after clicking the Button