Отключить отрицательные значения внутри TextBox - PullRequest
0 голосов
/ 14 декабря 2011

Я работаю над формой Windows .. Мне нужен мой TextBox, чтобы не принимать отрицательные значения .. Как я могу это сделать .. Есть ли недвижимость, доступная для того же ...

Ответы [ 2 ]

3 голосов
/ 14 декабря 2011

Вам нужно написать событие нажатия клавиши в текстовом поле, например:

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

Вы также можете использовать числовой элемент управления обновлением для предотвращения отрицательных значений.

ОБНОВЛЕНИЕ:

Ссылка: Саи Калян Акшинтхала

Мой код не будет обрабатывать случай копирования / вставки. Пользователь может вводить отрицательные значения путем копирования / вставки. Поэтому я думаю, что ответ Саи Калян Акшинтхала является правильным для этого случая, за исключением одного небольшого изменения длины> = 2.

private void textBox1_TextChanged(object sender, EventArgs e)
{
    if(textBox1.Text.Length >= 2)     
    {     
        int acceptednumber = Convert.ToInt32(textBox1.Text);     
        if(acceptednumber < 0)     
        {     
            textBox1.Text = "";     
            MessageBox.Show("-ve values are not allowed");     
        }     
        else     
        {     
            textBox1.Text = textBox1.Text;     
        }     
    }  
}
1 голос
/ 14 декабря 2011

да, вы можете написать следующую часть кода в текстовом поле textbox

if(textBox1.Text.Length >= 2)
{
int acceptednumber = Convert.ToInt32(textBox1.Text);
if(acceptednumber < 0)
{
textBox1.Text = "";
MessageBox.Show("-ve values are not allowed");
}
else
{
textBox1.Text = textBox1.Text;
}
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...