C# Один обработчик на несколько текстбоксов.

Делаю я тут один проектик небольшой, на шарпе.
И там, на форме несколько полей требуется. Чтобы вводили только целые положительные числа. И несколько других для шестнадцатиричных чисел.
Кроме того, значения делятся еще на несколько групп, у каждой свои диапазоны валидных значений и свои умолчания.
Писать на каждый текст бокс свой обработчик тоже не очень интересно, код, за исключением присвоения переменным значений, одинаковый.

В общем родилась такая идея. Создаем проперти вместо переменных, которые будут работать с объектами прикрепленными к текст боксам. К полю Tag каждого текст бокса прикрепляем свой класс содержащий Text для возможности вернуть «как было» если введено что-то не подобающее. и Value для значения переменной. А так же сеттер, чтобы там где требуется, отфильтровать значение на предмет попадания в диапазон. Создаем несколько вариантов дочерних классов с фильтрованными сеттерами. тогда получив из параметра sender обработчика события, объект вызвавший событие, мы сразу производим необходимые проверки и присвоения. Проверка на числа, пока сделана убого. Если вводится ошибочное значение, то тупо заменяется старым сохраненным, но это уже так сказать другая история не входящая в наше повествование 😉

Leave a Reply

Ваш e-mail не будет опубликован. Обязательные поля помечены *