RE:Ayuda: validar un string en un TextBox
...
Te planteo una solucion, es algo extenso pero funciona.
Agregas a un formulario: 1 TextBox, 1 Boton, 1 ListBox
'GENERAL
Dim coleccion() As String = {}
Dim intTotal As Integer = 0
'EVENTO BOTON
Private Sub btnEvaluar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnEvaluar.Click
convierteLista(Me.txtNumeros.Text)
muestraLista()
End Sub
'PROCEDIMIENTOS
Private Sub convierteLista(ByVal strCadena As String)
Dim strChar As String = "", strNumA As String = "", strNumB As String = ""
intTotal = 0
For i As Integer = 0 To strCadena.Length - 1
strChar = strCadena.Substring(i, 1)
If Not IsNumeric(strChar) Then
Select Case strChar
Case ","
generaArray(Convert.ToInt32(strNumA))
strNumA = ""
Case "-"
For j As Integer = i + 1 To strCadena.Length - 1
strChar = strCadena.Substring(j, 1)
If IsNumeric(strChar) Then
strNumB += strChar
If j = strCadena.Length - 1 Then 'SI ES EL FINAL
generaArray(Convert.ToInt32(strNumA), Convert.ToInt32(strNumB))
strNumB = ""
i = j + 1
End If
Else
generaArray(Convert.ToInt32(strNumA), Convert.ToInt32(strNumB))
strNumB = ""
i = j + 1
Exit For
End If
Application.DoEvents()
Next
End Select
Else
strNumA += strChar
If i = strCadena.Length - 1 Then 'SI ES EL FINAL
generaArray(strNumA)
End If
End If
Application.DoEvents()
Next
End Sub
Private Sub generaArray(ByVal intNumero As Integer)
ReDim Preserve coleccion(intTotal)
coleccion(intTotal) = intNumero
intTotal += 1
End Sub
Private Sub generaArray(ByVal intInicio As Integer, ByVal intFin As Integer)
Do While Convert.ToInt32(intInicio) <= Convert.ToInt32(intFin)
ReDim Preserve coleccion(intTotal)
coleccion(intTotal) = intInicio
intInicio += 1
intTotal += 1
Loop
End Sub
Private Sub muestraLista()
Me.lstResultado.Items.Clear()
For r As Integer = 0 To coleccion.Length - 1
Me.lstResultado.Items.Add(coleccion(r).ToString)
Next
End Sub
Lo probe, funciono, y no demoro. XD
Salu2.