Есть текстбокс, в который я могу ввести только цифры и запятую. Т.к. запятая нужна в качестве разделителя - она может писаться только раз.
Соответственно, если вводится точка - ее надо заменить на запятую. Получился такой код:
private: System::Void aPredelText_KeyPress(System::Object^ sender, System::Windows::Forms::KeyPressEventArgs^ e) {
if ((e->KeyChar >= '0')&&(e->KeyChar <= '9'))
{
return;
}
if (e->KeyChar == '.')
{
e->KeyChar = ',';
}
if (e->KeyChar == ',')
{
if (aPredelText->Text->IndexOf(',') != -1) {
e->Handled = true;
}
return;
}
if (Char::IsControl(e->KeyChar))
{
if (e->KeyChar == (char) Keys::Enter)
otvetButton->Focus();
return;
}
e->Handled = true;
}
Компиляция проходит без ошибок, но в итоге ничего не меняется, все так же можно вводить любые символы и точка не меняется. Как можно решить эту проблему?