В моей программе есть ошибка, когда пользователь нажимает кнопку проверки (вычисления), когда в текстовом поле нет ввода, программа отображает эту ошибку: «Преобразование из строки» в тип «Double» недопустимо«.Я хотел бы решить эту проблему, но я не уверен, как сделать преобразование.Я думал, возможно, CType, но я слышу разговоры о разборе.Как мне это сделать?текстовое поле называется mskTxtInput, а объект кнопки называется btnCheck, который выполняет все вычисления и обработку.
Обновление: это мой код, кроме метода синтаксического анализа, поэтому надеюсь, что это немного поможет!
PrivateSub btnCheck_Click (отправитель ByVal как System.Object, ByVal как As System.EventArgs) Обрабатывает btnCheck.Click pic1.Visible = False 'скрыть картинку pic1.Image = My.Resources.A pic2.Image = My.Resources.F
Dim value As Double
If Double.TryParse(mskTxtInput.Text, value) = Then
MsgBox("parsing success") ' parsing worked, so use the value in here
Else
MsgBox("parsing failed") ' parsing failed, so alert the user to that fact
End If
If radAdd.Checked = True Then
totalNum = num1 + num2
End If
If radSub.Checked = True Then
totalNum = num1 - num2
End If
If radMulti.Checked = True Then
totalNum = num1 * num2
End If
If mskTxtInput.Text = totalNum Then
lblAns.Text = ("Correct!")
lblAns2.Text = ("Answer is " & totalNum)
pic1.Visible = True
wins = wins + 1
nScore = wins
Else
lblAns.Text = ("Incorrect")
lblAns2.Text = ("Answer should be " & totalNum)
pic2.Visible = True
End If
attempts = attempts + 1
If attempts = 5 Then
MessageBox.Show("Game Finished! ", "End Of Game", _
MessageBoxButtons.OK, _
MessageBoxIcon.Exclamation)
lblAns.Text = ("You scored " & wins & " Out of 5")
btnSpin.Enabled = False
pic1.Visible = False
pic2.Visible = False
lblAns2.Text = ""
lblAns2.Text = "Play again?"
btnCheck.Enabled = False
btnNew.Enabled = True
attempts = 0
wins = 0
End If
mskTxtInput.Clear()
mskTxtInput.Focus()
End Sub