que puedo hacer para que lo compare como si fueran 2 numeros.??
La comparación de texto se compara caracter por caracter, y da los mismos resultados que se pueden ver en el ordenamiento lexicográfico, ya que "9" es mayor que "1", por ende "90" es mayor que "100".
Asumiendo que los valores introducidos siempre serán números dentro del rango aceptable para un valor de tipo
Int32, entonces la manera más rápida en términos de rendimiento sería realizando un casteo (en la expresión a evaluar):
TextBox1.Text = CStr(90)
TextBox2.Text = CStr(100)
If (CInt(TextBox1.Text) <= CInt(TextBox2.Text)) Then
' ...
Else
' ...
End If
De lo contrario, es decir, si los datos introducidos son inseguros, entonces puedes aplicar un control de errores básico para comprobar si los valores de texto se pueden convertir a enteros:
TextBox1.Text = CStr(1)
TextBox2.Text = "qwerty"
Dim valueA As Integer
Dim valueB As Integer
If Not (Integer.TryParse(TextBox1.Text, valueA)) OrElse
Not (Integer.TryParse(TextBox2.Text, valueB)) Then
MessageBox.Show("Error")
Else
'...
End If
Dicho esto, ten en cuenta que no es necesario utilizar la función
Trim, las funciones de conversión a enteros ya se encargan de la lógica respecto al tratamiento de los espacios en blanco a la izquierda y derecha, utilizando
Trim solo consigues hacer más pesado tu algoritmo, aunque realmente es algo que no tiene ninguna importancia cuando queremos comparar eventualmente 2 valores, pero mejor acostumbrarse a intentar ser lo más eficiente posible hasta cuando no sea necesario, ya que sabiendo estas cosas al menos ayudarán para cuando necesites aplicar un rendimiento elevado en comparaciones más intensivas o costosas.
De todas formas, en caso de que quieras usar
Trim por el motivo que sea, en este u otros códigos me refiero, entonces deberías usar la extensión de método
String.Trim();
actualmente estás utilizando la función
Trim del espacio de nombres
Microsoft.VisualBasic, el cual todo su contenido o miembros son una porquería deprecada en términos de rendimiento (a pesar de ser puro código .Net), intenta evitar usar nada como
Left,
Mid, y etc, puesto que tienes un equivalente altamente cualificado (para cualquier metodo de VB6) en el resto de la librería de classes de .Net Framework.
Saludos