0

我尝试使用 CInt、TryParse、Convert.Int32 等进行转换,但没有任何效果。我只需要在单击按钮 btnVote 时显示候选人的总票数,并在单击 btnResult 时显示结果。我也尝试在网上搜索,但仍然没有运气,所以我来到了这个网站,希望我能用 VB.net 中的程序解决我的问题

下面是我的代码:

Public Class Presidential_Election

    Private Sub btnVote_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnVote.Click
        If cboCandidates.Text = "NOLI" Then
            lblNoli.Text = Integer.Parse(lblNoli.Text) + 1
        ElseIf cboCandidates.Text = "VAL" Then
            lblVal.Text = (CInt(lblVal.Text) + 1).ToString
        ElseIf cboCandidates.Text = "LESTER" Then
            lblLester.Text = CInt(lblLester.Text) + 1
        ElseIf cboCandidates.Text = "GWAPO" Then
            lblGwapo.Text = CInt(lblGwapo.Text) + 1
        End If
    End Sub

    Private Sub btnResult_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnResult.Click
        lblNoli.Visible = True
        lblVal.Visible = True
        lblLester.Visible = True
        lblGwapo.Visible = True
    End Sub
End Class
4

2 回答 2

1

我会为每个候选人设置一个整数计数器。将它们设置为 0,然后在它们收到投票时增加它们。当您显示结果时,只需将标签的文本绑定到其各自的计数器并使其可见。这样,您就不必一直引用 label.text。

于 2013-02-22T21:39:03.130 回答
0

如果您没有将标签文本设置0在开头,那么使用CInt肯定会引发错误。你有两个选择:

  • 将所有标签文本设置为 0 并继续使用CInt, 或
  • 使用 Val()

例子 :

lblGwapo.Text = Val(lblGwapo.Text) + 1
于 2013-02-22T21:32:15.037 回答