我目前正在为一个学校项目创建一个代码。作业是为教师创建一个非常基本的评分系统。我正在使用";选择案例";以确定学生在考试中所占百分比的分数。
我目前的问题是,在这段代码中,我让它将输出信息显示在一个显示框中,但实际上我需要将它放置在一个文本框或标签中。当我尝试更改为这两种形式中的任何一种时,我都会出错。
我可以用什么替换lsbResults行。项目。添加以使以下信息显示在文本框或标签中?
Public Sub Grades()
Select Case Percentage
Case 0 To 49
lsbResults.Items.Add(StudentName & "'s" & " grade is a participation" & " (" & Percentage & "%)")
Case 50 To 59
lsbResults.Items.Add(StudentName & "'s" & " grade is a Pass" & " (" & Percentage & "%)")
Case 60 To 74
lsbResults.Items.Add(StudentName & "'s" & " grade is a Credit" & " (" & Percentage & "%)")
Case 75 To 89
lsbResults.Items.Add(StudentName & "'s" & " grade is a Distiction" & " (" & Percentage & "%)")
Case 90 To 100
lsbResults.Items.Add(StudentName & "'s" & " grade is a High Distinction" & " (" & Percentage & "%)")
End Select
End Sub
除非您从另一个类调用Grades
,否则它可以是Private Sub
。我添加了Percentage
和StudentName
作为Grades
方法的参数,以使类级别的变量不必要。如果这些数据可以作为类级别的变量使用,那么这些参数就没有必要了。
为了避免重复代码,我只更改了Select Case中的一个单词。
我在报价前使用了一个由$表示的内插字符串。这使您可以将大括号中的变量放在字符串中,使其恰好位于最终文本中出现的位置。我在字符串的末尾添加了一个vbCrLf
来开始一行新行。
.AppendText
方法会将新字符串添加到文本框中,而不会擦除已经存在的内容。请确保您的文本框在设计器中将.Multiline
设置为true。
Private Sub Grades(Percentage As Integer, StudentName As String)
Dim GradeWord As String = ""
Select Case Percentage
Case 0 To 49
GradeWord = "participation"
Case 50 To 59
GradeWord = "Pass"
Case 60 To 74
GradeWord = "Credit"
Case 75 To 89
GradeWord = "Distiction"
Case 90 To 100
GradeWord = "High Distinction"
Case Else
GradeWord = "No Grade"
End Select
TextBox1.AppendText($"{StudentName}'s grade is {GradeWord} ({Percentage}%){vbCrLf}")
End Sub
如果您使用的是2015年之前的Visual Studio版本,则需要使用String.Format
TextBox1.AppendText(String.Format("{0}'s grade is {1} ({2}%){3}", StudentName, GradeWord, Percentage, vbCrLf))
您可以将分数输入变量,然后使用.text 将其显示在文本框或标签中
公共等级((
Dim strGrade作为字符串
Select Case Percentage
Case 0 To 49
strGrade = (StudentName & "'s" & " grade is a participation" & " (" & Percentage & "%)")
Case 50 To 59
strGrade = (StudentName & "'s" & " grade is a Pass" & " (" & Percentage & "%)")
Case 60 To 74
strGrade = (StudentName & "'s" & " grade is a Credit" & " (" & Percentage & "%)")
Case 75 To 89
strGrade = (StudentName & "'s" & " grade is a Distiction" & " (" & Percentage & "%)")
Case 90 To 100
strGrade = (StudentName & "'s" & " grade is a High Distinction" & " (" & Percentage & "%)")
End Select
TxtBoxFinalGrade.text=strGrade
结束子