在 VB.NET 的 ComboBox 控件中保存多个项目

Saving multiple items in a ComboBox control in VB.NET

我正在研究一个学生评分系统,我想要一个将在文本框控件中输入的所有数据保存到一个文本文件中的建议,但我遇到了一个问题。在我的程序中,学生可以 select 来自组合框控件的多门课程,并为每门课程输入成绩。

如何从 ComboBox 控件中保存所有 selected 项目以及为同一学生输入的成绩?

例如:学生输入他的名字 Adam K.,然后 Adam K. select 学习了六门课程和为他们每个人打分。

如何保存所有这些信息才能像下面这样显示?

A​​dam K.,历史 98/100,数学 56/100,地理 78/100 等等。

由于您描述的信息不是很清楚,我只能根据您提供的信息尝试为您提供解决方案。

效果如下:

test.txt 文件中:

想要这个效果可以试试我的方法

Public Class Form1
    Dim name As String
    Dim info As New Dictionary(Of String, String)
    Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
        Dim course As String() = {"History", "Math", "English", "Chinese", "Science", "Biology"}
        For Each item As String In course
            ComboBox1.Items.Add(item)
        Next

    End Sub

    Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click

        If ComboBox1.Text IsNot "" Then
            If TextBox2.Text Is "" Then
                Try
                    info.Add(ComboBox1.Text, "0 / 100") 'score default
                Catch
                    MsgBox("The course " & ComboBox1.Text & " already exists.")
                End Try
            Else
                Try
                    info.Add(ComboBox1.Text, TextBox2.Text & "/100")
                Catch
                    MsgBox("The course " & ComboBox1.Text & " already exists.")
                End Try
            End If
        Else
            MsgBox("Please enter course info")
        End If

        ComboBox1.Text = "" 'clear course info
        TextBox2.Text = ""
    End Sub

    Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click

        name = TextBox1.Text
        TextBox3.Text &= name & "   "

        For Each kvp As KeyValuePair(Of String, String) In info
            TextBox3.Text &= kvp.Key.ToString & ":" & kvp.Value.ToString & "   "
        Next kvp
        TextBox3.Text &= vbCrLf

        TextBox1.Text = ""
        info.Clear() 'clear all info

    End Sub

    Private Sub Button3_Click(sender As Object, e As EventArgs) Handles Button3.Click
        Dim file As System.IO.StreamWriter 'Write Text to Files with a StreamWriter
        file = My.Computer.FileSystem.OpenTextFileWriter("D:\test.txt", True)
        file.WriteLine(TextBox3.Text)
        file.Close()

        TextBox3.Text = "" 'Append to Text Files in Visual Basic
        'Dim inputString As String = "This is a test string."
        'My.Computer.FileSystem.WriteAllText("D:\test.txt", inputString, True)
    End Sub
End Class