2015-10-12 4 views
0
If txtAge.Text < 18 Then 
     MessageBox.Show("You must be over 18", "Error", MessageBoxButtons.OK, _ 
        MessageBoxIcon.Error) 

    Else : Me.Close() 
     Form3.Show() 
    End If 

код работает его только если я выбрать не вводить какую-либо информацию я хочу получать уведомления и вернуть мой проект просто падает и говоритошибка проекта, когда не вводя значение

Необработанное исключение типа «System.InvalidCastException» произошло в Microsoft.VisualBasic.dll

Дополнительная информация: Преобразование из строки «» к типу «двойной» является не действует.

im не уверен, где я ошибаюсь, возможно, превращая строки/целые числа в начинающих, поэтому любая помощь оценивается.

ответ

0

Вы должны использовать Int32.TryParse():

Dim intAge As Int32 
If Int32.TryParse(txtAge.Text, intAge) Then 
    If intAge < 18 Then 
     MessageBox.Show("You must be over 18", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error) 
    End If 
Else 
    MessageBox.Show("Age was empty or invalid!", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error) 
End If