Форум программистов, компьютерный форум, киберфорум
C# Windows Forms
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.70/30: Рейтинг темы: голосов - 30, средняя оценка - 4.70
11 / 11 / 4
Регистрация: 13.10.2012
Сообщений: 279
1

Обработка исключений при вводе в TextBox недопустимых символов

12.12.2012, 18:49. Просмотров 6127. Ответов 5
Метки нет (Все метки)

Как добавить обработку с помощью try catch чтобы если вводим пустое значение в textBox1 выдавало сообщение. И если вводим символы вместо чисел в textBox1 тоже выдавало сообщение.
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
 {
                int num = Convert.ToInt32(textBox1.Text); // сюда проверку
                ContInt a1 = new ContInt(num); 
                if (L.Count == 0)
                {
                    L.Add(a1);
                    textBox2.Text = textBox2.Text + num.ToString();
                }
                else
                {
                    MessageBox.Show("Запись добавлена");
                }   
             }
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
12.12.2012, 18:49
Ответы с готовыми решениями:

Обработка исключений при вводе числа
Здравствуйте! Как для данной строчки прописать исключение ( вводиться должны строго цифры 0-3), с...

Обработка исключений при вводе некорректных данных
День добрый, начал разбираться с исключениями, пока не совсем понимаю в чем их удобство и зачем они...

Обработка исключений при неверном вводе данных
Здравствуйте.Возникла проблема с реализацией исключения на ввод(необходимо,чтобы при вводе...

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

5
Эксперт Java
4058 / 3793 / 743
Регистрация: 18.05.2010
Сообщений: 9,330
Записей в блоге: 11
12.12.2012, 19:08 2
Ну, и в чем проблема?
Как использовать try-catch - написано тут.
В случае если в textBox1 не число будет брошено исключение FormatException. (это можно узнать из доки)
0
11 / 11 / 4
Регистрация: 13.10.2012
Сообщений: 279
12.12.2012, 19:25  [ТС] 3
C#
1
2
3
4
5
6
7
8
9
10
11
                int num;
                try
                {
                    num = Convert.ToInt32(textBox1.Text);//При вводе пустой строки ругается
                    return;
                }
                catch
                {
                    MessageBox.Show("Пустота...");
                }
                ContInt a1 = new ContInt(num);
Можете посмотреть есть что-то кривое. просто определяю переменную num вверху, потом ее проверяю в блоке try, а строчке ContInt a1 = new ContInt(num); компилятор ругается, что для переменной num не присвоено значение. Как сделать чтобы num была видна и в try и после catch?
1
Эксперт Java
4058 / 3793 / 743
Регистрация: 18.05.2010
Сообщений: 9,330
Записей в блоге: 11
12.12.2012, 20:38 4
Цитата Сообщение от tinne Посмотреть сообщение
Как сделать чтобы num была видна и в try и после catch?
Можете сразу присвоить значение num, при объявлении. Можете присвоить в catch-блоке.
0
11 / 11 / 4
Регистрация: 13.10.2012
Сообщений: 279
12.12.2012, 20:51  [ТС] 5
Переменной num я присваиваю значение которые вводится в textBox1, а его сначало надо проверить

C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
 int num = Convert.ToInt32(textBox1.Text); ;
                try
                {
                    num = Convert.ToInt32(textBox1.Text);//При вводе пустой строки ругается
                    return;
                }
                catch (OverflowException)
                {
                    MessageBox.Show("Пустота...");
                }
                catch (FormatException)
                {
                    MessageBox.Show("Символы...");
                }
                ContInt a1 = new ContInt(num);
0
Эксперт Java
4058 / 3793 / 743
Регистрация: 18.05.2010
Сообщений: 9,330
Записей в блоге: 11
13.12.2012, 11:53 6
Цитата Сообщение от tinne Посмотреть сообщение
Переменной num я присваиваю значение которые вводится в textBox1, а его сначало надо проверить
Вы не предусмотрели случай, когда проверка не прошла:
будет пойман Exception в блоке catch, и дальше выполнение продолжится, что не правильно.
Поставьте return в catch блоке, тогда компилятор перестанет ругаться.
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
13.12.2012, 11:53

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

Обработка исключений при вводе числа, меньшего единицы
Как можно обработать исключение, чтобы при вводе числа меньше 1, выдалось сообщение? Добавлено...

Выброс исключений при недопустимых значениях полей
Здравствуйте. Помогите мне понять о чем идет речь <<Описать класс ... Предусмотреть...

Двумерные массивы. При вводе данных появляется сообщение о недопустимых значениях
Всех приветствую, я совсем недавно начал изучать C#, мне был приведен пример выполнения работы в...

Смена цвета фона в TextBox при вводе символов, отличных от цифр
мне надо чтобы пользователь ввел в текстбокс только числа,а он случайно ввел какие то символы,я...


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

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2020, vBulletin Solutions, Inc.