Форум программистов, компьютерный форум, киберфорум
Visual Basic .NET
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.53/15: Рейтинг темы: голосов - 15, средняя оценка - 4.53
5 / 5 / 10
Регистрация: 08.01.2016
Сообщений: 80
1

При вводе любых символов, кроме цифр, выдавать сообщение об ошибке

06.04.2016, 23:58. Показов 2756. Ответов 3
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Есть форма. В ней вводят R1(TextBox1),R2(TextBox2). Нужно, чтобы при вводе любых символов, кроме цифр, выдавалось сообщение об ошибке.
Это задачу сделал на половину - как проверять, но чтобы программы не вылетала ?
Выдаёт сообщение об ошибке и переходит к этому участку кода и, соответственно, вылетает.

VB.NET
1
r1 = Convert.ToDouble(TextBox1.Text)
Никак не пойму, как правильно этот цикл организовать :\


Код полностью:

VB.NET
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
Public Class Form1
    Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
        RadioButton1.Text = "Последовательно"
        RadioButton2.Text = "Параллельно"
    End Sub
 
    Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click
        Dim r1 As Double
        Dim r2 As Double
        Dim Result As Double
        Dim style As MsgBoxStyle = MsgBoxStyle.Critical
 
        While (IsNumeric(TextBox1.Text) = False) Or (IsNumeric(TextBox2.Text) = False)
            MsgBox("R должено быть числом", style)
            Exit While
        End While
 
        r1 = Convert.ToDouble(TextBox1.Text)
        r2 = Convert.ToDouble(TextBox2.Text)
        If RadioButton1.Checked = True Then TextBox3.Text = Convert.ToString(r1 + r2)
 
    End Sub
End Class
При вводе любых символов, кроме цифр, выдавать сообщение об ошибке
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
06.04.2016, 23:58
Ответы с готовыми решениями:

Как сделать чтобы при вводе 0 и других символов, кроме цифр ничего не вводилось?
Подскажите пожалуйста.

При вводе любых символов (кроме "1" - "5") выводить ошибку
var x,y:integer; z:real; n:byte; begin writeln(' '); writeln('Введите длину отрезка: ');...

Запрет на ввод любых символов, кроме цифр
Есть ли в свойствах Edit нечто такое, что разрешит вводить в нём только цифры? И если нету, то...

Запрет ввода любых символов кроме цифр в консоли
Ребята подскажите пожалуйста можно ли как-то разрешать ввод в консоль только цифр. Я делаю проверку...

3
1 / 1 / 0
Регистрация: 30.12.2015
Сообщений: 21
07.04.2016, 00:39 2
Вставьте этот код и все.

VB.NET
1
2
3
4
5
6
7
8
9
10
11
12
13
14
    Private Sub TotalSumm_KeyPress(sender As Object, e As KeyPressEventArgs) Handles TextBox1.KeyPress, TextBox2.KeyPress
        Try
            Dim txtBox As TextBox = DirectCast(sender, TextBox)
            Dim ch As Char = e.KeyChar
            If ch = "46" AndAlso txtBox.Text.IndexOf("."c) <> -1 Then
                e.Handled = True
                Return
            End If
            If e.KeyChar <> ControlChars.Back Then
                e.Handled = Not (Char.IsDigit(e.KeyChar) Or e.KeyChar = "/")
            End If
        Catch ex As Exception
        End Try
    End Sub
Добавлено через 4 минуты
И еще, не забудьте, этот код работает только, если выбран Key_press, то есть если вы выберите например TextChanged, то это не будет работать
0
Почетный модератор
21400 / 9134 / 1083
Регистрация: 11.04.2010
Сообщений: 11,014
07.04.2016, 06:17 3
Лучший ответ Сообщение было отмечено TonyWinter как решение

Решение

Не нужно выдавать никакие сообщения, это раздражает пользователя.
Используйте NumericUpDown, он как раз для работы с числами.
3
5 / 5 / 10
Регистрация: 08.01.2016
Сообщений: 80
07.04.2016, 10:02  [ТС] 4
Памирыч, да, это оказалось лучшим вариантом,спасибо Вам.
0
07.04.2016, 10:02
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
07.04.2016, 10:02
Помогаю со студенческими работами здесь

Реализация запрета ввода любых символов кроме цифр в консольном приложении
Здравствуйте, помогите пожалуйста реализовать запрет ввода любых символов кроме цифр в консольном...

При вводе цифр и букв вместе, программа должна выдавать ошибку
Проблема в следующем... Мне нужно, чтобы программа выдавала ошибку, если я введу что-то подобное...

Выдавать сообщение об ошибке при попытке деления на ноль
domains i=integer* r=real predicates sum(i,r) avg(i,r) length(i,r) clauses

Нужна процедура, которая сообщает об ошибке при вводе букв вместо цифр
привет. У меня программа , которая переводит введеное в 10с.с число в 2 с.с, но не получается...

При вводе неправильного значения для N вывести сообщение об ошибке
Дано натуральное число N.Найти p=1*2*...*N.При вводе неправильного значения для N вывести сообщение...

как сделать так, чтобы не просто выводилось сообщение об ошибке, а действие не проделывалось при при вводе значений ни о
Добрый вечер ! как сделать так, чтобы не просто выводилось сообщение об ошибке, а действие не...


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

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