Я хотел бы, чтобы текстовое поле предупреждало пользователя, когда он вводит неправильный символ - PullRequest
0 голосов
/ 05 апреля 2020

Вот то, что у меня сейчас есть, я попытался расширить оператор if, чтобы появился MessageBox и вывести пользователя на нажатие клавиши, но мне не повезло. Вот что у меня работает и ограничивает ввод данных пользователем. В Windows формах.

private void PhoneText_KeyPress(object sender, KeyPressEventArgs e)
    {
        if (!char.IsDigit(e.KeyChar) && !char.IsControl(e.KeyChar))
        {
            e.Handled = true;

        }            
    }

Ответы [ 2 ]

0 голосов
/ 06 апреля 2020

Измените ваш код на:

    if (!char.IsDigit(e.KeyChar) && !char.IsControl(e.KeyChar))
    {
        e.Handled = true;
        MessageBox.Show("Incorrect Character!");
    }

Я обычно использую этот кусок, чтобы разрешить только цифры и десятичные числа:

        Char chr = e.KeyChar;
        if (!char.IsDigit(chr) && e.KeyChar!='.')
        {
            e.Handled = true;
            MessageBox.Show("Please enter only numeric values.");
        }
0 голосов
/ 05 апреля 2020

в другом состоянии, например, измените цвет спины:

if (!char.IsDigit(e.KeyChar) && !char.IsControl(e.KeyChar))
{
    e.Handled = true;
    PhoneText.BackColor = Color.White;
} 
else
{
    PhoneText.BackColor = Color.IndianRed;
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...