Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Запрет ввода данных

70K
18 мая 2012 года
Silakoff
26 / / 04.05.2012
мне нужно запретить ввод символов, минуса, более одной десятичной запятой. вот код есть но не нашел про более одной запятой и про минус. Спасибо


 
Код:
if (
                !((e.KeyChar >= (char)48 && e.KeyChar <= (char)57) || (e.KeyChar == (char)8) || (e.KeyChar == (char)45) || (e.KeyChar == (char)44)))
                e.Handled = true
65K
19 мая 2012 года
verholom
48 / / 29.08.2011
http://msdn.microsoft.com/ru-ru/library/system.windows.forms.control.keydown.aspx#Y200
40K
22 мая 2012 года
D129
228 / / 18.04.2012
Можно использовать контрол MaskedTextBox.
если в нем настроить маску, то вводить можно будет только разрешенные маской символы. Вся логика уже там.

Если же этого не достаточно - то RegEx, класс для работы с regular extension.

Но все равно нужно проверять всю строку после ввода, а не во время (у каждого контрола есть эвент - к нему и можно проивязаться)

Если вам надо именно на вводе, и не MaskedTextBox, то во первых, не советую :-) (это же нестандартное поведение, пользователи будут зависать :-) ), во вторых - придется переменными уровня класса ("глобальными") пользоваться, чтобы количество уже введенных точек считать. Кривой код будет.
40K
22 мая 2012 года
D129
228 / / 18.04.2012
Забыл какой эвент для этого предназначен написать - this.textBox1.Validating
40K
22 мая 2012 года
D129
228 / / 18.04.2012
Вот, вполне работает, и цветом выделяет текстбокс, который не прошел валидацию.

Код:
private void textBox1_Validating(object sender, CancelEventArgs e)
{
   
    TextBox textToValidate = sender as TextBox;
    if (textToValidate.Text != "")
    {
        textToValidate.BackColor = Color.Aquamarine;
        e.Cancel = true;
    }
}

private void textBox1_TextChanged(object sender, EventArgs e)
{
    TextBox textToValidate = sender as TextBox;
    textToValidate.BackColor = Color.White ;
}
70K
22 мая 2012 года
Silakoff
26 / / 04.05.2012
спасибо, сделал немного по-своему
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог