C# 如何绑定按钮和标签
我扩展了按钮控件,使其也具有LabelName。当我按下按钮时,我需要在标签上写下按钮的名称。 我的第一个想法是使用事件——简单易行。C# 如何绑定按钮和标签,c#,winforms,button,label,C#,Winforms,Button,Label,我扩展了按钮控件,使其也具有LabelName。当我按下按钮时,我需要在标签上写下按钮的名称。 我的第一个想法是使用事件——简单易行。 问题是:有没有更优雅的方式?(我被要求绑定按钮和标签).我认为最好的方法是使用动作监听器,而使用动作监听器的最好方法是将其构建到扩展按钮控件的类中,这样用户就不必自己做了。看起来是这样的 class Button2 : Button { public string LabelName = ""; public Button2() {
问题是:有没有更优雅的方式?(我被要求绑定按钮和标签).我认为最好的方法是使用动作监听器,而使用动作监听器的最好方法是将其构建到扩展按钮控件的类中,这样用户就不必自己做了。看起来是这样的
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);
}
}
如果要更改外部标签控件的
Text
属性,只需在按钮中创建一个属性来保存对标签的引用。您可以像设置任何其他属性一样,通过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;
}
}
}
这是我单击按钮后的标签:
如果触发标签写入的操作是按钮单击,那么您没有比按钮单击事件更好的选择。如果您显示实际的代码,我们可能会找到编写代码的“更优雅的方式”。如果您扩展了
按钮
,并希望在单击时对其进行处理,则您无需订阅自己的事件,只需覆盖OnClick
方法。您的意思是要设置外部文件的.Text属性吗关联的标签控件?…是否要在按钮中存储对该标签的引用?这似乎是一个学术问题。好的,按钮的OnClick事件似乎是一种方式,我将使用它@sudheeshix:这不是学术问题,而是我要求做的事情。这不是我的意思,因为我只需要为按钮“绑定”文本,而不是所有标签。这是我认为我应该做的。。。非常感谢。