2013-11-03 56 views
0

這是我的代碼,我有一個列表框,顯示從文本文件中讀取的名稱。然後我有兩個文本框:txtName和txtPhone。當名稱在列表框中突出顯示時,它應該在txtName中顯示名稱,並在txtPhone中顯示電話號碼,但它不能正常工作。任何幫助表示讚賞。在兩個不同的文本框中顯示姓名和電話號碼

Public Class Form1 

    Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load 
     Dim memberphones() As String = IO.File.ReadAllLines("memberphones.csv") 
     Dim query = From line In memberphones 
        Let data = line.Split(","c) 
        Let name = data(0) 
        Let phone = data(1) 
        Select name 
     lstOutput.DataSource = query.ToList 
     txtName.Text = Name 
     txtPhone.Text = phone 
    End Sub 

End Class 

這裏是我的文本文件的內容: 卡羅爾·普萊斯,587-2333 愛麗絲里斯,860-9744 卡洛斯·桑切斯,209-4587 約翰史密斯576-2988

+0

結果是什麼是什麼呢? – Krekkon

+1

錯誤是什麼?也應該在名稱和名稱相同的情況下 – VladL

+0

此代碼給我一個錯誤:txtName.Text =名稱 txtPhone.Text =電話「Phone is not declared」 – user2844903

回答

0

當listbox selectionchanged,爲它取一個事件處理程序。 在事件處理程序中,您可以獲得實際選定項目及其合適的參數。 將事件處理程序中的這些屬性添加到兩個文本框中

如果您已準備好並且仍有問題,請檢查您的變量。他們都有正確的價值觀?

1

創建一個類來保存的值,使您的查詢創建該類的實例:

Public Class Form1 

    Public Class Record 
     Public Name As String 
     Public Phone As String 

     Public Overrides Function ToString() As String 
      Return Name 
     End Function 
    End Class 

    Private Sub Form1_Load(sender As System.Object, e As System.EventArgs) Handles MyBase.Load 
     Dim query = From line In IO.File.ReadAllLines("memberphones.csv") 
        Let data = line.Split(","c) 
        Select New Record() With {.Name = data(0), .Phone = data(1)} 
     lstOutput.DataSource = query.ToList 
    End Sub 

    Private Sub lstOutput_SelectedIndexChanged(sender As Object, e As System.EventArgs) Handles lstOutput.SelectedIndexChanged 
     If lstOutput.SelectedIndex <> -1 Then 
      Dim rec As Record = lstOutput.SelectedItem 
      txtName.Text = rec.Name 
      txtPhone.Text = rec.Phone 
     End If 
    End Sub 

End Class 
+0

idle_mind,這正是我想要的。我感謝您的幫助。 Fred – user2844903

+0

idle_mind,我添加了一個刪除按鈕和一個私人小組,但它給了我一個錯誤:System.argumentexception。這裏爲i添加的代碼:Private Sub mnuUpdateDelete_Click(發送者爲對象,例如作爲EventArgs的)把手mnuUpdateDelete.Click 點心字符串searchstr = txtName.Text 昏暗IND爲整數= lstOutput.Items.IndexOf(字符串searchstr) lstOutput.Items.RemoveAt (ind) End Sub – user2844903

相關問題