我将按钮控件扩展为也具有LabelName。当我按下按钮时,我需要在标签中写下按钮的名称。 我的第一个想法是使用事件 - 简单易行。 问题是:有更优雅的方式吗? (我被要求绑定按钮和标签)...
答案 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进行设置:
这是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;
}
}
}
点击按钮后,这是标签: