Событие TextChanged не работает.

У меня есть текстовое поле в форме, и я хочу определить, когда текст изменился, но код, который я нашел, не доставляет мне радости.

Я, вероятно, пропускаю что-то в пропорциях или что-то, что вы должны определить раньше.

Вот мой код:

private void tbxparkingTimesS1_TextChanged(Object sender, EventArgs e)
{
     MessageBox.Show("You are in the ToolStripItem.TextChanged event.");
}

Спасибо за любую помощь с этой тривиальной проблемой.

3 ответа

Решение

Чтобы связать событие TextChanged с определенным методом в вашем коде, сделайте следующее

  • Нажмите на TextBox внутри вашей формы
  • Откройте окна свойств (нажмите F4 или меню Вид -> Окно свойств)
  • Выберите страницу события (значок молнии)
  • Двойной щелчок на строке свойства TextChanged
  • Вставьте свой код в шаблон сборки для вас от Visual Studio

Вы назначили обработчик событий для текстового поля?

Обычно это делается "за кулисами" Visual Studio - в результате получается дополнительная строка кода в вашем файле.designer.

Что-то вроде:

this.tbxparkingTimesS1.TextChanged += new System.EventHandler(tbxparkingTimesS1_TextChanged);

(Прошло много времени с тех пор, как я сделал веб-формы, так что это может быть немного не так)

Двойной щелчок на текстовом поле создаст для вас событие изменения текста.

    private void tbxparkingTimesS1_TextChanged(object sender, EventArgs e)
    {
        // implement your code here. 
    }

При двойном щелчке VS создаст обработчик события в вашем файле designer.cs, как показано ниже.

 this.tbxparkingTimesS1.TextChanged += new System.EventHandler(this.tbxparkingTimesS1_TextChanged);

Вы можете сделать то же самое, используя события окна свойств или создать событие в коде позади.

Другие вопросы по тегам