I'm trying to add a number to a listbox that a user enters into a textbox. The program crashes when I press the button.
Public Class Form1
Dim numbers() As Integer
Dim numNumbers As Integer = 0
Private Sub TextBox1_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles TextBox1.KeyPress
e.Handled = NumbersOnly(e.KeyChar, TextBox1)
End Sub
Private Function NumbersOnly(ByVal pstrChar As Char, ByVal oTextBox As TextBox) As Boolean
'validate the entry for a textbox limiting it to only numeric values and the decimal point
If (Convert.ToString(pstrChar) = "." And InStr(oTextBox.Text, ".")) Then Return True 'accept only one instance of the decimal point
If Convert.ToString(pstrChar) <> "." And pstrChar <> vbBack Then
Return IIf(IsNumeric(pstrChar), False, True) 'check if numeric is returned
End If
Return False 'for backspace
End Function
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
If TextBox1.Text <> "" Then
numNumbers = numNumbers + 1
numbers(numNumbers) = TextBox1.Text
ListBox1.Items.Add(numbers(numNumbers).ToString())
Else
numNumbers = numNumbers + 0
End If
End Sub
End Class