Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 检测标签中的更改_C#_.net_Winforms - Fatal编程技术网

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

    }
}