为什么我的IF语句不起作用

时间:2013-01-02 23:12:30

标签: vb.net if-statement

任务是制作一个评级系统,因此当用户输入5分的评级时,将在下面的星号中显示:
例如
4 = ****

但我相信我正在编写我的代码,但它似乎仍然没有正确执行。

 Protected Sub btnRate_Click(sender As Object, e As EventArgs) Handles btnRate.Click

        Dim txtStar As Integer

        If txtStar = "1" Then
            lblStar.Text = "*"
        End If

        If txtStar = "2" Then
            lblStar.Text = "**"
        End If

        If txtStar = "3" Then
            lblStar.Text = "***"
        End If

        If txtStar = "4" Then
            lblStar.Text = "****"
        End If

        If txtStar = "5" Then
            lblStar.Text = "*****"
        End If

    End Sub
End Class

感谢您的帮助。

3 个答案:

答案 0 :(得分:2)

尝试这个。

Private Sub Button1_Click(sender As System.Object, e As System.EventArgs) Handles Button1.Click
    Dim rate As Integer
    rate  = txtStar.Text
    lblStar.Text = String.Empty
    For index = 1 To rate
        lblStar.Text += "*"
    Next
End Sub

修改

Private Sub Button1_Click(sender As System.Object, e As System.EventArgs) Handles Button1.Click
    Dim rate As Integer
    rate = txtStar.Text
    If rate = 1 Then
        lblStar.Text = "*"
    ElseIf rate = 2 Then
        lblStar.Text = "**"
    ElseIf rate = 3 Then
        lblStar.Text = "***"
    ElseIf rate = 4 Then
        lblStar.Text = "****"
    ElseIf rate = 5 Then
        lblStar.Text = "*****"
    Else
        lblStar.Text = String.Empty
    End If
End Sub

答案 1 :(得分:0)

所以txtStar是文本框。您应该使用Int32.ParseTryParse将文本转换为数字,然后您可以使用this string constructor

Dim starCount As Int32
Dim canBeParsed = Int32.TryParse(txtStar.Text, starCount)
If canBeParsed Then
    lblStar.Text = New String("*"c, starCount)
End If

答案 2 :(得分:0)

如果txtStar是一个textBox,那么你应该将这个文本框的Text属性与你的常量进行比较

   If txtStar.Text = "1" Then
       lblStar.Text = "*"
   End If

依旧......

然而,不清楚代码中声明的整数变量的含义是什么

 Dim txtStar As Integer

你没有设置初始值,所以我认为这只是一个死代码,因此可以删除 但是如果你想使用它,你需要分配一个值然后比较....

txtStar = Convert.ToInt32(txtStar.Text)
If txtStar = 1 Then
    lblStar.Text = "*"
End If

注意我是如何使用字符串常量删除比较并使用整数常量 此变量的另一个名称可能不那么令人困惑.....