2013-11-21 74 views
1

我創建了使用Visual Basic 2010速成Windows桌面應用程序。我正在設計的程序有三個主要控件:一個ListView,一個TextBox和一個Button。我需要的是當用戶單擊ListView控件內的一行時,TextBox將在第一個SubItem中顯示文本。詳細來說,ListView控件有兩列(名稱和說明)。在SelectedIndexChanged事件,我需要的代碼,將顯示在TextBox說明文本(ListView的子項)。獲取文本從一個ListView子項

我會後我的代碼,以顯示我做了什麼,但我不知道在哪裏甚至開始,我所有的代碼只是給我的錯誤。我試過這樣的事情:

textbox1.text = listview1.items.subitems.tostring 

但顯然這種方法是無用的,完全偏離軌道。我知道這是基本的,但我不明白。由於

+0

這個回答http://stackoverflow.com/a/20027133/1070452從剛纔的不足之處? – Plutonix

+1

這是不夠的,因爲它不是同一個問題。這次我沒有向列表視圖添加任何內容。我只是從子項目中獲取文本並將其放入文本框中。 – Jake2k13

+0

你得到一個錯誤與代碼:「錯誤‘子項’不是「System.Windows.Forms.ListView.ListViewItemCollection的一員」 [如何獲得對ListViewControl項目和子項目?(HTTP的 – Jake2k13

回答

2

選定LV項目的文本:

textbox1.text = listview1.SelectedItem.ToString 

對於第一個選擇項的子項n中的文字:

textbox1.text = listview1.SelectedItems(0).SubItems(N).Text 

你也可以把它用listview1.Items(X).SubItems(N).Text其中X是你想

0

如果你想要讓你從一個ListView控件點擊子項目的項目(行)的指數簡單地使用ListViewHitTestInfo在鼠標點擊é通風口即

Dim info As ListViewHitTestInfo = lstvw1.HitTest(e.X, e.Y) 
MsgBox(info.SubItem.Text)