Visual Studio C++ 2008 windows forms
Подскажите пожалуйста, как ограничить в текстовой строке ввод определенного дипа данных, например, для калькулятора, чтобы нельзя было вводить в текстовую строку буквы и т. д
Подскажите пожалуйста, как ограничить в текстовой строке ввод определенного дипа данных, например, для калькулятора, чтобы нельзя было вводить в текстовую строку буквы и т. д
Подписать textBox на событие KeyPress и в обработчике разрешить только цифры, точку/запятую, BackSpace, Delete, Tab
P.S. Сделайте так, если пользователь вводит в качестве разделителя запятую, то код её делает точкой. И предусмотрите флаг, на тот случай если пользователю захочется ввести насколько точек/запятых, то установка его, флага, в false, также будет запрещать их дальнейший ввод.
P.P.S. кроме того следует предусмотреть возможность ввода чисел в экспоненциальной форме, например -3.7801e-25 или +8.0014E+47, то и для этого следует писать свою логику. И, соответственно, разрешить +, -e, E в строго определённых местах.
P.P.P.S Тут есть над чем подумать
Использовать контрол NumericUpDown
или
обрабатывать события TextChanged/ Keypress и фильтровать ввод