Vb.net 将一个值增加一个visual Basic被卡住了

Vb.net 将一个值增加一个visual Basic被卡住了,vb.net,Vb.net,我正在尝试编写一个代码,在单击visual basic中的一个按钮后,该代码会将值增加1。这些是我迄今为止尝试过的代码,但我尚未实现我的目标 代码1 Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click Dim votecount As Integer = Integer.Parse(showcountwinnie.Text)

我正在尝试编写一个代码,在单击visual basic中的一个按钮后,该代码会将值增加1。这些是我迄今为止尝试过的代码,但我尚未实现我的目标

代码1

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
   Dim votecount As Integer = Integer.Parse(showcountwinnie.Text)
   votecount += 1
   showcountwinnie.Text = votecount.ToString()
End Sub
代码二

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
  Dim votes As Integer
  votes = 0
  votes += 1
  votes = showcountwinnie.Text
End Sub
代码三

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
   Dim votewinnie As Integer
   votewinnie = showcountwinnie.value
   votewinnie = votewinnie + 1
   showcountwinnie.value = votewinnie
End Sub

这不是最优雅的解决方案,但很有效:

Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
    Dim vote As Integer
    If showcountwinnie.Text <> "" Then
        vote = Val(showcountwinnie.Text)
    Else
        vote = 0
    End If

    vote += 1
    showcountwinnie.Text = vote
End Sub
Private子按钮1\u单击(发送者作为对象,e作为事件参数)处理按钮1。单击
整数表决
如果显示Winnie.Text“”,则
投票=Val(showcountwinnie.Text)
其他的
投票=0
如果结束
投票+=1
showcountwinnie.Text=投票
端接头

代码1似乎是正确的。只需在第1行保留一个断点,并在单击按钮时检查代码行是否正在执行

Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
    Static votecount As Integer = 0
    votecount += 1
    showcountwinnie.Text = votecount.ToString()
End Sub
此方法在每次单击时使用自身+1,快速且肮脏的方式:

        Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
            showcountwinnie.Text = (Val(showcountwinnie.Text) + 1).ToString()
        End Sub
更优雅的方式:

        Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
            Dim votecount As Integer
            If Integer.TryParse(txt_UTC.Text, votecount) Then
                votecount += 1
            Else
                ' whatever you want to do with votecount
                votecount = 0
            End If
            txt_UTC.Text = votecount.ToString()
        End Sub

有点晚了,但是你的代码1不起作用。解析方法需要两个参数。

在代码2中,你要从showcountwinnie.Text=voces这样的东西的外观中以相反的方式分配这些东西
这个showcountwinnie到底是什么?文本框?标签?

使用上面建议的代码,我发布的代码对我来说非常有用,只是做了一些小改动

Private Sub txtQuantity_Click()
    Dim vote As Integer
    If txtQuantity.Text <> "" Then
        vote = Val(txtQuantity.Text)
    Else
        vote = 0
    End If

    vote = vote + 1
    txtQuantity.Text = vote

End Sub
Private Sub txtQuantity_Click()
整数表决
如果为txtQuantity.Text“”,则
投票=Val(txtQuantity.Text)
其他的
投票=0
如果结束
投票=投票+1
txtQuantity.Text=投票
端接头

选项二不应编译,将
选项STRICT
设置为on。选项三被注释掉了。第一种方法应该有效,所以你应该给我们更多的背景信息。是winforms还是asp.net,什么意思是“没有达到我的目标”?第一个没有做到的是什么?是winforms不是asp.net。我不能将数字按1递增为注释:整数。如果文本不是数字,解析将在你面前爆炸。更好的用户Integer.Tryparse-它稍微复杂一些,但有更好的控制流-@ChristianSauer或者他可以使用val()函数。如果传递的参数不是数字,它将返回0。如果足够正确,这将更有意义。您也可以检查IsNumeric(a_text),但有时它会说是,但这是浮点的特例,因此仍然使用TryParse,或在Try中放置一个CInt。.Catch block
Val
是VB.NET中支持的旧VB6方法,但主要是为了向后兼容。最好使用
Integer.Parse
Integer.TryParse
。问题是当文本框/标签为空时,代码将中断。是的,您是对的。我想我也看到了你的答案。我想我们俩都在一起发帖。无论如何,谢谢:)
Private Sub txtQuantity_Click()
    Dim vote As Integer
    If txtQuantity.Text <> "" Then
        vote = Val(txtQuantity.Text)
    Else
        vote = 0
    End If

    vote = vote + 1
    txtQuantity.Text = vote

End Sub