任务是制作一个评级系统,因此当用户输入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
感谢您的帮助。
答案 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.Parse
或TryParse
将文本转换为数字,然后您可以使用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
注意我是如何使用字符串常量删除比较并使用整数常量 此变量的另一个名称可能不那么令人困惑.....