Как использовать элементы управления SpinButton и TextBox вместе?
Элемент управления SpinButton имеет свойство Value, но сам не отображает его значение. Чтобы пользователь мог менять значение SpinButton напрямую, а не только с помощью щелчков, можно использовать его вместе с элементом TextBox. Это позволяет вводить значение напрямую в поле TextBox, а также изменять его с помощью SpinButton.
Пример использования
На скриншоте показан простой пример: у SpinButton есть свойство Min со значением -100 и свойство Max со значением 100. При щелчке на стрелки SpinButton значение изменяется в пределах от -100 до 100.
Реализация кода
Для связи SpinButton и TextBox нужно создать процедуры обработки событий, которые будут синхронизировать их значения.
Инициализация формы
📌 Скачать файл пример, можно в конце статьи.
Этот код задает начальные значения для SpinButton и TextBox при инициализации формы. Свойства Min и Max определяют диапазон значений, надпись Label1 показывает пользователю допустимый диапазон, а TextBox1 отображает начальное значение SpinButton.
Синхронизация SpinButton и TextBox
Когда значение SpinButton изменяется (например, при щелчке на стрелки), нужно обновить TextBox:
Этот код устанавливает значение TextBox равным текущему значению SpinButton.
Когда пользователь вводит значение в TextBox, нужно обновить SpinButton:
Этот код проверяет, является ли введенное значение числом и находится ли оно в допустимом диапазоне. Если да, значение SpinButton обновляется.
Выделение текста в TextBox
Для удобства пользователя текст в TextBox выделяется при фокусировке:
Этот код выделяет весь текст в TextBox, когда пользователь щелкает по нему.
Передача значения в активную ячейку
При щелчке на кнопку OK значение SpinButton передается в активную ячейку:
Этот код проверяет, совпадает ли значение SpinButton с текстом в TextBox. Если да, значение записывается в активную ячейку и форма закрывается. Если нет, отображается сообщение об ошибке, и текст в TextBox выделяется для исправления.
И тут приходит понимание, что использование SpinButton вместе с TextBox позволяет пользователю удобно и быстро менять значения. Такая синхронизация через процедуры обработки событий обеспечивает корректную и совместную работу этих элементов управления.
Попробуйте поэкспериментировать. Понажимать, изменять значения, вводить неправильные значения, вводить значения за пределами минимального и максимального и т.п.
Например:
вводим не число, а текст