VB.NET постоянно добавляет один в текстовое поле - PullRequest
0 голосов
/ 24 февраля 2009

Я пытаюсь создать программу, в которой есть кнопка и текстовое поле. Каждый раз, когда нажимается кнопка, я хочу добавить ее в текстовое поле. Я получаю эту ошибку:

Не удалось разрешить перегрузку, потому что нет Доступный Int принимает этот номер аргументов

Также я огромный n00b. Вот где я сейчас, спасибо заранее.

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

Ответы [ 4 ]

4 голосов
/ 24 февраля 2009
Dim i As Integer = Int32.Parse(txtAdd.Text)

или

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

Нет класса с именем "Int."

2 голосов
/ 24 февраля 2009

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

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
2 голосов
/ 24 февраля 2009

Похоже, вы хотели сделать: Integer.Parse(txtAdd.Text)

Кроме того, я бы предложил сделать Integer i переменной-членом (полем) формы Form1. Таким образом, вам не придется разбирать его от строки к 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
1 голос
/ 24 февраля 2009

Попробуйте вызвать Convert.ToInt32 (txtAdd.Text)

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