Форум программистов, компьютерный форум, киберфорум
C# Windows Forms
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.59/41: Рейтинг темы: голосов - 41, средняя оценка - 4.59
2 / 2 / 1
Регистрация: 15.04.2014
Сообщений: 28
1

Смена цвета фона в TextBox при вводе символов, отличных от цифр

06.09.2014, 20:54. Показов 7766. Ответов 3
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
мне надо чтобы пользователь ввел в текстбокс только числа,а он случайно ввел какие то символы,я хочу чтобы текстбокс изменил свой цвет,а когда ошибка устранится,вернуть прежний.подскажите
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
06.09.2014, 20:54
Ответы с готовыми решениями:

Обработка исключений при вводе в TextBox недопустимых символов
Как добавить обработку с помощью try catch чтобы если вводим пустое значение в textBox1 выдавало...

Как сделать чтобы ToolTip появлялся при вводе цифр в TextBox
Здравствуйте, у меня есть обработчик событий на textbox,который запрещает ввод чисел. Как сделать...

Организовать динамический фильтр строк в DataGridView при вводе символов в TextBox
Как организовать динамический фильтр (то-есть, ввели символ-отобразились строки которые начинаются...

Запрос SPQuery. При вводе символов в TextBox должно происходить заполнение DGV
Постановка задачи Есть web part - update panel, на ней текстбокс и spgridview. обрабатываю событие...

3
8940 / 4852 / 1886
Регистрация: 11.02.2013
Сообщений: 10,246
07.09.2014, 03:17 2
Тема обсуждалась миллион раз. Предлагаю ещё один костыль
C#
1
2
3
4
5
6
7
8
private void textBox1_TextChanged(object sender, EventArgs e) {
    double val;
    TextBox tb=sender as TextBox;
    if (double.TryParse(tb.Text, out val) || string.IsNullOrEmpty(tb.Text))
        tb.BackColor = SystemColors.Window;
    else tb.BackColor = Color.Red;
 
}
0
2 / 2 / 1
Регистрация: 15.04.2014
Сообщений: 28
07.09.2014, 20:15  [ТС] 3
не могу тут разобраться.объясните пожалуйста или проще есть способы?
0
8940 / 4852 / 1886
Регистрация: 11.02.2013
Сообщений: 10,246
07.09.2014, 20:49 4
Лучший ответ Сообщение было отмечено skillup как решение

Решение

Это самое простое. При вводе текста мы пытаемся введённый текст преобразовать в число. Если это возможно, т.е. введены одни цифры, то поле ввода остаётся белым. Если не возможно, то поле ввода становится красным
C#
1
2
3
4
5
6
7
8
9
private void textBox1_TextChanged(object sender, EventArgs e) {
    double val; //Вспомогательная переменная. В неё пытаемся преобразовать записанный текст
    TextBox tb=sender as TextBox;// textBox, который вызвал событие изменения текста
    // Если возможно преобразовать или поле пустое
    if (double.TryParse(tb.Text, out val) || string.IsNullOrEmpty(tb.Text))
        tb.BackColor = SystemColors.Window;//оставляем поле чистым
    else tb.BackColor = Color.Red;//иначе делаем красным.
 
}
Строго говоря, в данном варианте в текстовое поле можно ввести любую корректную запись числа double. Например 1e-5. Но для начала мы этим пренебрежём
1
07.09.2014, 20:49
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
07.09.2014, 20:49
Помогаю со студенческими работами здесь

Смена цвета текста и фона при наведении на кнопки
Создайте HTML страницу ,в которой задать две кнопки "Основная" и "Дополнительная" при наведении...

Изменение цвета фона символов при нажатии кнопок мыши
Задание: .286 data SEGMENT merr db 13,10,13,10,'Mouse can not be initialized$' ...

Авто расстановка пробелов и тире при вводе цифр в textbox
Всем добрый день, проблема такова, имеется textbox с возможностью вводить только цифры, задача в...

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


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru