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

Тема в разделе "MS Visual C++", создана пользователем avd, 5 апр 2010.

  1. avd

    avd Гость

    Доброго здоровья!
    Сам я не программист, знаю только С в объёме программирования микроконтроллеров.
    Начал изучать Visual C++ 2008.
    Как задать ограничение ввода в textBox
    Я делаю так (см. код), но есть подозрение, что это не совсем верно в том смысле, что это работает
    но наверно профессионалы делают по другому (может KeyDown?)
    Код (Text):
        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}");
    }
    Спасибо.
     
  2. Odin_KG

    Odin_KG Гость

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

Поделиться этой страницей