打开一个文件,其名称和目录由在combobox vb.net中选择的内容确定

时间:2012-09-07 10:47:28

标签: vb.net string combobox

我有一个名称列表的组合框( 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 ))

任何人都知道如何实现这个目标?

1 个答案:

答案 0 :(得分: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

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