1

たとえば、名前のリストを含むコンボボックス(コンボボックス1)があります:CHARLY SUSAN BOB。

私が達成しようとしているのは、対応するファイルの内容を別のコンボボックス (コンボボックス2 )で読み取ることです。

  • 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"))

変数/文字列をターゲット名に設定し、それに接頭辞を追加するために、概念を拡大し続けるリストに開いたままにしておくことを考えています。その時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 に答える