C# 检测标签中的更改
我有一张有一些标签的表格。 该程序会不时使用以下命令更改标签上的文本:C# 检测标签中的更改,c#,.net,winforms,C#,.net,Winforms,我有一张有一些标签的表格。 该程序会不时使用以下命令更改标签上的文本: label1.Text = "some message" 我想创建一个函数,该函数在每次为标签文本分配和实现事件处理程序时执行,如下所示: this.label1.TextChanged += new System.EventHandler(this.label1_TextChanged); [...] private void label1_TextChanged(object sender,
label1.Text = "some message"
我想创建一个函数,该函数在每次为标签文本分配和实现事件处理程序时执行,如下所示:
this.label1.TextChanged += new System.EventHandler(this.label1_TextChanged);
[...]
private void label1_TextChanged(object sender, EventArgs e) {
// do some stuff
}
只要文本真的改变了,这就行了。但是,如果文本设置为它已经具有的相同值,则不会执行该事件。有没有一种简单的方法可以将函数挂接到文本分配中,而无需将每次出现的
label1.text=…
更改为自定义函数调用?是虚拟的,因此您可以创建自己的标签控件并在其中添加自定义功能,例如,在调用属性的setter时引发事件,即使它不会导致文本更改。是虚拟的,因此您可以创建自己的label控件并在其中添加自定义功能,例如,在调用属性的setter时引发事件,即使它不会导致文本更改。通过属性设置标签文本每次程序设置其值时,它都会调用u将在属性中定义的函数
像
通过属性设置标签文本每次程序设置其值时,它将调用u将在属性中定义的函数 像
这将需要重写文本赋值的每个实例,这是我想要避免的。dkackman的解决方案最适合我,因为我可以保持原始表单不变,除非将标签重新声明为MyLabelth。这需要重写文本赋值的每个实例,我希望避免这样做。dkackman的解决方案最适合我,因为我可以保持原始表单不变,除了将标签重新声明为MyLabel
public string LabelText
{
set
{
label1.Text = value;
// your Function Calling
}
}