投稿者 るきお  (社会人) 投稿日時 2011/7/10 08:02:53
CSVは次のような内容で合っていますか?
日本,C:\Japan\Japan.pdf
カナダ,C:\Canada\Canada.pdf
アメリカ,C:\America\America.pdf
メキシコ,C:\Mexico\Mexico.pdf


ListBoxには「日本」や「カナダ」を表示して、後でその横にあるフルパスも取得したいということですよね?

で、あればshuさんの方法でOKですが、
私の最初の例の読み込み元をC:\WindowsではなくこのCSVファイルに変更するのでもOKなので参考に書いておきますね。


Private Sub Form1_Load(sender As System.Object, e As System.EventArgs) Handles MyBase.Load

    'CSVの行をそれぞれ、1項目目と2項目目に分解してコレクション化。 
    '例:lins(2).Items1 でCSVの3行目の1項目目が取得できるようになる。 
    Dim lines = From csvLine In IO.File.ReadAllLines("C:\vb\test.csv")
                Let items = Split(csvLine, ",")
                Select New Tuple(Of StringString)(items(0), items(1))

    '1項目目をListBoxに表示するように指定。(この時点ではまだ表示はされない。) 
    ListBox1.DisplayMember = "Item1"

    'ListBoxにCSVの行を表示。 
    ListBox1.Items.AddRange(lines.ToArray)
End Sub

Private Sub ListBox1_SelectedIndexChanged(sender As System.Object, e As System.EventArgs) Handles ListBox1.SelectedIndexChanged

    '選択されている項目がかわったら、その項目(=CSVの行)の2項目目を表示する。 
    MsgBox(ListBox1.SelectedItem.Item2)

End Sub