1

我有一个包含名称列表的组合框 ( combobox1 ),例如:CHARLY SUSAN BOB。

我想要实现的是在另一个组合框(combobox2)中读取相应文件的内容,所以

  • CHARLY 将打开 CHARLY.txt 并使用该文件内容填充 combobox2
  • SUSAN 将打开 SUSAN.txt 并使用该文件内容填充 combobox2
  • BOB 将打开 BOB.txt 并使用该文件内容填充 combobox2

它本身的名称列表是从文本文件中读取的,这是因为我将来想添加更多名称。

这些通过以下代码读入( Combobox1 ):

'Compiles list for plotter/ printer items...
ComboBox1.Items.AddRange(System.IO.File.ReadAllLines("C:\PEOPLE\NAMES.txt"))

我正在考虑将这个概念保持在一个不断扩展的列表中,以便为目标名称设置一个变量/字符串,然后为其添加一个前缀,例如:BOBfile.txt 还添加了一个后缀,该后缀将指向目标文件目录然后是C:\PEOPLE\BOBSfile.txt

然后,变量中的这个集合将打开相关文件夹,如下所示:

ComboBox2.Items.AddRange(System.IO.File.ReadAllLines( BOBSVARIABLE ))

有人知道如何实现这一目标吗?

4

1 回答 1

0

这是一个简单的例子:

Private Sub ComboBox1_SelectedIndexChanged(sender As Object, e As EventArgs) _
                                        Handles ComboBox1.SelectedIndexChanged
  If ComboBox1.SelectedIndex = -1 Then
    ComboBox2.Items.Clear()
  Else
    Dim peoplePath As String = "C:\PEOPLE"
    Dim personFile As String = Path.Combine(peoplePath, _
                                            ComboBox1.SelectedItem & "file.txt")
    If File.Exists(personFile) Then
      ComboBox2.Items.AddRange(File.ReadAllLines(personFile))
    Else
      ComboBox2.Items.Clear()
    End If
  End If
End Sub

请考虑使用数据库。此外,您当前的系统不能很好地处理重复名称。

于 2012-09-07T12:17:21.050 回答