用户应该在“numero”文本框中写下健康保险卡号。数字是4个字母,然后是8个数字(LANS10763985)。 我的问题是,当我将文本框留空时,我的应用程序崩溃了! 我怎么才能放一个说出来输入东西的MsgBox !!!! Noob抱歉!
main()
答案 0 :(得分:1)
您可以使用String
的{{3}}:
If txtNumero.Text.Length <> 12 Then
MessageBox.Show("The number must have 12 letters, like LANS10763985")
Return
End If
Dim numero As String 'Numéro d'assurance maladie
Dim lettre As String 'Quatre premières lettres
Dim chiffre1 As String 'Quatre premiers chiffres
Dim chiffre2 As String 'Quatre derniers chiffres
numero = txtNumero.Text
lettre = txtNumero.Text.Substring(0, 4)
chiffre1 = txtNumero.Text.Substring(4, 4)
chiffre2 = txtNumero.Text.Substring(8, 4)
此外,你可以检查chiffre是否真的只是数字
If Not chiffre1.All(AddressOf Char.IsDigit) Then
MessageBox.Show("The first chiffre must contain only digits and no letters")
Return
ElseIf Not chiffre2.All(AddressOf Char.IsDigit) Then
MessageBox.Show("The second chiffre must contain only digits and no letters")
Return
End If
答案 1 :(得分:0)
Private Sub btnResultat_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnResultat.Click
Dim numero As String 'Numéro d'assurance maladie
Dim lettre As String 'Quatre premières lettres
Dim chiffre1 As String 'Quatre premiers chiffres
Dim chiffre2 As String 'Quatre derniers chiffres
numero = txtNumero.Text
If numero.Length <> 12 Then 'Verifier que le numéro a bel et bien 12 caractère
MsgBox("Ce numéro est invalide. Veuillez inscrire quatre lettres suivi de 8 chiffres pour un total de 12 caractères")
Else
lettre = txtNumero.Text.Substring(0, 4)
chiffre1 = txtNumero.Text.Substring(4, 4)
chiffre2 = txtNumero.Text.Substring(8, 4)
答案 2 :(得分:-1)
您可以使用try / catch来阻止应用崩溃。
Dim numero As String 'Numéro d'assurance maladie
Dim lettre As String 'Quatre premières lettres
Dim chiffre1 As String 'Quatre premiers chiffres
Dim chiffre2 As String 'Quatre derniers chiffres
Try
numero = txtNumero.Text
lettre = txtNumero.Text.Substring(0, 4)
chiffre1 = txtNumero.Text.Substring(4, 4)
chiffre2 = txtNumero.Text.Substring(8, 4)
Catch ex As ArgumentOutOfRangeException
MessageBox.Show("Format is incorrect!")
End Try
所以你会“尝试”获取numero,lettre等的值。但是一旦你的异常显示它就会捕获它,而是显示一个消息框。
请在评论中随意给我打电话,但希望这会有所帮助