Каждое текстовое поле будет вызывать событие TextChanged
, когда его содержимое изменилось. Однако для этого необходимо подписаться на каждое событие.
Хорошей новостью является то, что вы можете подписаться на событие одним и тем же способом несколько раз. В обработчике есть параметр sender
, который можно использовать для определения того, какое из ваших 30 текстовых полей действительно вызвало событие.
Вы также можете использовать события GotFocus и LostFocus , чтобы отслеживать реальные изменения. Вам нужно будет сохранить исходное значение на GotFocus
, а затем сравнить с текущим значением на LostFocus
. Это обходит проблему двух TextChanged
событий, отменяющих друг друга.