Обнаружить изменения в метке - PullRequest
1 голос
/ 08 июня 2011

У меня есть форма с несколькими ярлыками.Время от времени программа меняет текст на метках с помощью

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 = ... на вызов пользовательской функции?

Ответы [ 2 ]

4 голосов
/ 08 июня 2011

Свойство Text элемента управления является виртуальным, поэтому вы можете создать собственный элемент управления меткой и добавить туда пользовательские функции, например, вызывать событие, когда вызывается установщик свойства, даже если это не приводит к изменению текста. .

0 голосов
/ 08 июня 2011

Устанавливать текст метки через свойство каждый раз, когда программа устанавливает его значение, она будет вызывать функцию, которую вы определите в свойстве.

как

public string LabelText 
{
   set
   {
    label1.Text = value;

    // your  Function Calling

    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...