Vb.net 我可以在VisualBasic的文本框中显示选定案例的结果吗?

Vb.net 我可以在VisualBasic的文本框中显示选定案例的结果吗?,vb.net,Vb.net,我目前正在为一个学校项目创建代码。任务是为教师创建一个非常基本的记分簿系统。我使用“选择案例”来确定学生在考试中所占百分比的分数 我当前的问题是,在这段代码中,我让它将输出信息显示到一个显示框中,但实际上我需要将它放在一个文本框或标签中。当我尝试更改为这两种形式中的任何一种时,都会出现错误 我可以用什么替换行lsbResults.Items.Add,以便以下信息显示在文本框或标签中 Public Sub Grades() Select Case Percentage

我目前正在为一个学校项目创建代码。任务是为教师创建一个非常基本的记分簿系统。我使用“选择案例”来确定学生在考试中所占百分比的分数

我当前的问题是,在这段代码中,我让它将输出信息显示到一个显示框中,但实际上我需要将它放在一个文本框或标签中。当我尝试更改为这两种形式中的任何一种时,都会出现错误

我可以用什么替换行lsbResults.Items.Add,以便以下信息显示在文本框或标签中

    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

您可以将分数输入到变量中,然后使用.text将其显示在文本框或标签中

公共小巴()

作为字符串的变暗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


End Sub

您可以将分数输入变量,然后使用.text将其显示在文本框或标签中

公共小巴()

作为字符串的变暗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


结束子类

除非您从另一个类调用
等级
,否则它可以是
私有子类
。我添加了
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))

除非您是从另一个类调用
Grades
,否则它可以是
私有子类
。我添加了
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))

这里只是许多想法中的一个。代替
lsbResults.Items.Add
-您可以将
输出&=
添加到字符串变量中,并最终在
结束后选择
将标签或文本框的
.Text
属性指定给输出
outTextbox.Text=输出
。试一试,让我们知道。@Jim非常感谢您的帮助,我已将这些编辑添加到代码中,但现在当我将信息输入文本框并将结果放入指定的文本框时,当它清除并将新信息放入文本框后,它会重复上一次输入的答案。@Laura请将您的问题显示为现在的代码。以下是许多想法中的一个。代替
lsbResults.Items.Add
-您可以将
输出&=
添加到字符串变量中,并最终在
结束后选择
将标签或文本框的
.Text
属性指定给输出
outTextbox.Text=输出
。试一试,让我们知道。@Jim非常感谢您的帮助,我已将这些编辑添加到代码中,但现在当我将信息输入文本框并将结果放入指定的文本框时,在它清除并将新信息放入文本框后,它会重复上次输入的答案。@Laura请将您的问题显示为代码现在的样子。谢谢您的提问。此代码运行良好,我非常高兴没有问题。请将答案标记为正确并向上投票,如果它有助于你感谢你的代码,它工作得很好,我非常棒,没有问题。如果答案对你有帮助,请将其标记为正确并向上投票