2009-02-23 12 views
0

J'essaye de créer un programme qui a un bouton et une zone de texte. Chaque fois que le bouton est poussé, je veux qu'il en ajoute un à la boîte de texte. Je continue d'obtenir cette erreur:VB.NET Ajouter continuellement un à une zone de texte

Overload resolution failed because no accessible 'Int' accepts this number of arguments

Aussi, je suis un énorme n00b. Voici où je suis à ce jour, merci d'avance.

Option Strict On 

Public Class Form1 

    Private Sub btnPlus_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnPlus.Click 
    Dim i As Integer = Int.Parse(txtAdd.Text) 
    i += 1 
    txtAdd.Text = i.ToString() 
    End Sub 
End Class 

Répondre

2

En utilisant la méthode TryParse signifie que le code ne jette pas une exception Format si l'entrée ne peut pas être analysé à un nombre entier

Private Sub btnPlus_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click 

    Dim i as Integer 
    If Integer.TryParse(txtAdd.Text, i) Then 
     i += 1 
     txtAdd.Text = i.ToString() 
    End If 

End Sub 
+0

Ce ne marche pas planter le programme, mais il ne pas en ajoute une à la zone de texte. Je ne suis pas familier avec Int32, que fait-il? – Davey

+0

Int32 est le type .NET pour le type VB.NET Integer (ou le type C# int). Dans la langue de votre choix, il est interchangeable avec le type natif. –

+0

J'ai mis à jour ma réponse pour mieux montrer l'exemple. Essayez-le avec une chaîne de texte aléatoire, puis essayez-le avec un entier ... puis essayez le code original de la même manière :) –

4
Dim i As Integer = Int32.Parse(txtAdd.Text) 

ou

Dim i As Integer = Integer.Parse(txtAdd.Text) 

Il n'y a pas classe appelée "Int."

1

Essayez d'appeler Convert.ToInt32 (txtAdd.Text)

Dim i As Integer = Convert.ToInt32(txtAdd.Text) 
2

On dirait que vous vouliez faire: Integer.Parse(txtAdd.Text)

Aussi, je suggère faire Integer i une variable membre (champ) de Form1 . De cette façon, vous n'auriez pas à l'analyser de la chaîne à int.

Public Class Form1 

    Dim i As Integer 

    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click 
     i += 1 
     Me.TextBox1.Text = i.ToString() 
    End Sub 
End Class