Как проверить несколько текстовых полей в VB
Мне дали задание, в котором говорится, что я должен
Напишите проверку ввода таким образом, чтобы количество единиц для каждого пакета, введенного пользователем, было только числовым и не было отрицательным
Напишите код, чтобы очистить пробелы до и после текста. (Подсказка: применение обрезки)
Во время выполнения мы не можем позволить себе допустить сбой программного обеспечения. Вы должны написать соответствующие сообщения об ошибках для следующих случаев:
а.когда пользователь вводит нечисловое значение в любой из пакетов.
Б.когда пользователь вводит отрицательное значение в любой из пакетов.
c.когда приложение страдает критической ошибкой во время выполнения.
Что я уже пробовал:
Try packageA = CInt(CDec(txtPackageA.Text)) packageB = CInt(CDec(txtPackageB.Text)) packageC = CInt(CDec(txtPackageC.Text)) Catch ex As Exception MessageBox.Show("Numbers only and not Negative", "Input Error") Return End Try If (packageA < 1) Then MessageBox.Show("Numbers only and not Negative", " Input Error") Return End If If (packageB < 1) Then MessageBox.Show("Numbers only and not Negative", " Input Error") Return End If If (packageC < 1) Then MessageBox.Show(" Numbers only and not Negative", " Input Error") Return End If
lblAmountA.Text = "GHc" & packA.Метод toString
lblAmountB.Text += "GHc" & packB.Метод toString
lblAmountC.Text += "GHc" & packC.Метод toString
GrandTotal = CInt(packA + packB + packC)
lblTotal.Text += "GHc" &grandtotal.Метод toString
Поймать ex как исключение
Конец Попытки
Конец Подводной Лодки
Private Sub txtPackageA_TextChanged(sender As Object, e As EventArgs) обрабатывает txtPackageA.Очередь textchanged
If (Not IsNumeric(txtPackageA.Text)) Затем
ErrorProvider1.SetError(txtPackageA, "только числовой")
Еще
ErrorProvider1.SetError(txtPackageA, "")
Конец, Если
Конец Подводной Лодки
Private Sub txtPackageB_TextChanged(sender As Object, e As EventArgs) обрабатывает txtPackageB.Очередь textchanged
If (Not IsNumeric(txtPackageB.Text)) Затем
ErrorProvider1.SetError(txtPackageB, "только числовой")
Еще
ErrorProvider1.SetError(txtPackageB, "")
Конец, Если
Конец Подводной Лодки
Частная суб txtPackageC_TextChanged(отправителя как объект, а равно EventArgs) обрабатывает txtPackageC.Очередь textchanged
If (Not IsNumeric(txtPackageC.Text)) Затем
ErrorProvider1.SetError(txtPackageC, "только числовой")
Еще
ErrorProvider1.SetError(txtPackageC, "")
Конец, Если
Конец Подводной Лодки
Private Sub txtPackageA_Validating(отправитель как объект, e как система.ComponentModel.CancelEventArgs) обрабатывает txtPackageA.Проверка
Если (Строка.IsNullOrEmpty(txtPackageA.Text)) Затем
е.Отмена = Истина
ErrorProvider1.SetError(txtPackageA, "пожалуйста, введите здесь единицу измерения!!!")
Еще
е.Отменить = Ложь
ErrorProvider1.SetError(txtPackageA, "")
Конец, Если
Конец Подводной Лодки
Private Sub txtPackageB_Validating(отправитель как объект, e как система.ComponentModel.CancelEventArgs) обрабатывает txtPackageB.Validating
Если (Строка.IsNullOrEmpty(txtPackageB.Text)) Затем
е.Отмена = Истина
ErrorProvider1.SetError(txtPackageB, "пожалуйста, введите здесь единицу измерения!!!")
Еще
е.Отменить = Ложь
ErrorProvider1.SetError(txtPackageB, "")
Конец, Если
Конец Подводной Лодки
End Класса