从组合框填充列表视图

问题描述:

我有一个程序,我试图选择一个组合框条目并填充到列表视图。但是我只能得到一个组合框条目来显示(这是最后一个)。我在从文本文件中存储每个单独记录时遇到问题。有人可以向我展示如何做到这一点?从组合框填充列表视图

Imports System.IO 
Public Class Form1 
    Private BooksStreamReader As StreamReader 
    Dim str(51) As String 
    Structure Book 
     Dim ISBN As String 
     Dim Title1 As String 
     Dim Author As String 
     Dim Publisher As String 
     Dim Subject_Code As String 
     Dim Shelf_Location As String 
     Dim Fiction As Boolean 
     Dim Price As Decimal 
     Dim QDH As Integer 

    End Structure 
    Dim ISBN As String 
    Dim Title1 As String 
    Dim Author As String 
    Dim Publisher As String 
    Dim Subject_Code As String 
    Dim Shelf_Location As String 
    Dim Fiction As Boolean 
    Dim Price As Decimal 
    Dim QDH As Integer 
    Dim BooksArray(50) As Book 
    Dim BookUBound As Integer 
    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load 
     Dim I As Integer = 0 
     Try 
      BooksStreamReader = New StreamReader("C:\Users\Public\Pictures\Books2.Txt") 

     Catch ex As Exception 
      MessageBox.Show("File Not Found") 

     End Try 


     'Display combobox ISBNS 
     Do While BooksStreamReader.Peek <> -1 

      ISBN = BooksStreamReader.ReadLine() 
      Title1 = BooksStreamReader.ReadLine() 
      Author = BooksStreamReader.ReadLine() 
      Publisher = BooksStreamReader.ReadLine() 
      Subject_Code = BooksStreamReader.ReadLine() 
      Shelf_Location = BooksStreamReader.ReadLine() 
      Fiction = BooksStreamReader.ReadLine() 
      Price = BooksStreamReader.ReadLine() 
      QDH = BooksStreamReader.ReadLine() 
      ComboBox1.Items.Add(ISBN) 

     Loop 
     BookUBound = BooksArray.Length - 1 


    End Sub 
    Private Sub DisplayRecord() 


    End Sub 

    Private Sub ComboBox1_SelectedIndexChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles ComboBox1.SelectedIndexChanged 
     Form1_Load(sender, e) 
     Dim str(200) As String 
     Dim selectedindex As Integer = 0 

      str(0) = ISBN 
      str(1) = Title1 
      str(2) = Author 
      str(3) = Fiction 
      str(4) = Price 
      str(5) = QDH 
      str(6) = QDH * Price 



     If CheckBox1.Checked Then 

      Dim itm As New ListViewItem(str) 
      ListView1.Items.Add(itm) 
     End If 


    End Sub 
End Class 

这里是文本文件:

0-671-66398-4 
Seven Habits of Highly Effective People 
Covey, Stepehn R. 
Fireside 
BSN 
RC-1111 
False 
6.99 
14 
0-934136-27-0 
Wine Makers Guide 
Nury/Fugelsang 
Western Tanager 
MST 
RC-1112 
False 
6.99 
0 
0-451-16095-9 
The Stand 
King, Stephen 
Signet 
MST 
RC-1113 
True 
7.99 
0 
0-446-51652-X 
Bridges of Madison County 
Waller, Robert James 
Warner Books 
BSS 
RC-1114 
True 
10.99 
15 
0-89997-2063 
Afoot and Afield in Orange County 
Schad, Jerry 
Wilderness Press 
SLH 
RC-1112 
False 
11.99 
7 
0-8041-0753-X 
The Kitchen God's Wife 
Tan, Amy 
Ivy Books 
BSS 
RC-1114 
True 
11.99 
7 
0-8487-0504-1 
Erica Wilson's Quilts of America 
Wilson, Erica 
Oxmoor House 
ART 
RC-1112 
False 
12.99 
7 
8423-2218-3 
The Way 
Null 
Tyndale 
RLG 
RC-1111 
False 
12.99 
0 
0-446-60274-4 
The Rules 
Fein/Schneider 
Warner Books 
SLH 
RC-1111 
False 
14.99 
1 
0-87826-5299 
Know Your Lhaso Apso 
Schneider, Earl 
The Pet Library LTD 
SLH 
RC-1112 
False 
15.99 
15 
0-697-12897-0 
QuickBasic and QBasic Using Modular Structure 
Bradley, Julia Case 
B & E Tech 
BSN 
RC-1111 
False 
16.99 
13 
1-55615-484-4 
Code Complete 
Mc Connell, Steve 
Microsoft Press 
BSN 
RC-1111 
False 
16.99 
2 

这是相当一个火车事故,你是真的不密切。建议的修补程序:

Structure Book 
    Dim ISBN As String 
    '' etc 
    Public Overrides Function ToString() As String 
     Return ISBN 
    End Function 
End Structure 

... 
Do While BooksStreamReader.Peek <> -1 
    Dim book As New Book 
    book.ISBN = BooksStreamReader.ReadLine() 
    '' etc 
    ComboBox1.Items.Add(book) 
Loop 
... 

Private Sub ComboBox1_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ComboBox1.SelectedIndexChanged 
    If CheckBox1.Checked Then 
     Dim book As Book = CType(ComboBox1.SelectedItem, Book) 
     Dim item As New ListViewItem(book.ISBN) 
     item.SubItems.Add(book.Title) 
     '' etc... 
     ListView1.Items.Add(item) 
    End If 
End Sub 
+0

没关系我已经得到它的工作感谢您的帮助,尽管你的居高临下的语气。 – Isaac 2010-11-15 03:31:00