Как задать ограничение на ввод в Textbox

  • Автор темы avd
  • Дата начала
A

avd

Гость
#1
Доброго здоровья!
Сам я не программист, знаю только С в объёме программирования микроконтроллеров.
Начал изучать Visual C++ 2008.
Как задать ограничение ввода в textBox
Я делаю так (см. код), но есть подозрение, что это не совсем верно в том смысле, что это работает
но наверно профессионалы делают по другому (может KeyDown?)
Код:
	private: System::Void textBox1_TextChanged(System::Object^ sender, System::EventArgs^ e) {
String ^ s = textBox1->Text;
int ct=0;
while (s->Length != ct)
{
simvol = s->Substring(ct,1);	//Выделение одного символа
if ((simvol != "0") &&
(simvol != "1") &&
(simvol != "2") &&
(simvol != "3") &&
(simvol != "4") &&
(simvol != "5") &&
(simvol != "6") &&
(simvol != "7") &&
(simvol != "8") &&
(simvol != "9"))
{
s = s->Remove(ct,1);	//Удаляем символ
textBox1->Text = s;
}
else ct = ct + 1;
}
SendKeys::Send("{End}");
}
Спасибо.
 
O

Odin_KG

Гость
#2
Насколько я понял, нужно, чтобы можно было вводить только цифры. Обычно у текстовых полей для этого есть стиль. В MFC для CEdit стиль называется ES_NUMBER и может быть указана визуально при помощи свойств CEdit-а. Поищи в общем... Кстати, у этого стиля есть один глюк - через буфер вставить можно что угодно, т.е. он влияет только на ввод с клавиатуры, но обычно это не критично.