2013-03-20 50 views
2

我目前正在C#中設計一個窗體,我試圖將信息顯示到兩個單獨的文本框中。正如您可以看到,當我點擊「添加藝術家」時,它會將藝術家和藝術家數量添加到同一個框中。我不希望它這樣做。顯示信息到2個不同的列表框 - 使用樹

我知道行'listBox2.Items.Add(artist);'是造成這種情況,但我不知道要改變它,以便它只顯示成員的數量。我的藝術家課程如下:

我想我需要在第一個返回語句中分隔名稱和成員,以便我可以使用listBox2.Items.Add(artist.members)單獨顯示它們;或類似的東西,但我不確定。

任何幫助表示讚賞!謝謝:)

回答

4

它看起來當你創建

List<string> ListBoxItems = new List<string>();,你是在救你什麼藝術家ToString回報,這是這樣的:

(name + members); 

有一對夫婦的事情可以做,你可以將ListBoxItems作爲List<Artist>,然後您可以使用以下內容構建您的列表:

foreach (string artist in ListBoxItems) 
{ 
    listBox1.Items.Add(artist.Name); 
    listBox2.Items.Add(artist.Members); 
} 

或者,您可以製作2個列表。說ListBoxNamesListBoxMembers,並填寫他們每個與他們各自的領域。我個人更喜歡第一種方法。

,或者,如果ArtistTree impliments IEnumerable(hightlight它,然後按F12檢查),比你可以從

foreach (Artist artist in ArtistTree) 
{ 
    listBox1.Items.Add(artist.Name); 
    listBox2.Items.Add(artist.Members); 
} 
+0

謝謝你的回覆山姆:)我試過了,但是我得到了與藝術家的成員的錯誤。成員http://speedcap.net/sharing/screen.php?id=files/b8/de/b8dec4134b3cb830ea6e3b9a4dfeb6bd.png – user2058186 2013-03-20 16:13:52

+0

@ user2058186我看到,'ListBoxItems'是一個'string'的列表,你可能想要將它實現爲'Artist'的列表, – 2013-03-20 16:16:53

+0

感謝你的回覆,我會接受這個答案並親自嘗試一下:) – user2058186 2013-03-20 16:21:48

2

listBox2.Items.Add(artist.Members);

+0

感謝您的答覆:)我認爲這會,如果我使用的是數據字典但是我使用樹木的工作:/ – user2058186 2013-03-20 16:15:02

2

你需要設置的列表框的DisplayMember屬性是公共財產拉您想要顯示的藝術家課程。

你可以包括以下代碼的形式來實現你的目標:

listBox1.DisplayMember = "Name"; 
listBox2.DisplayMember = "Members"; 
+0

感謝回覆馬丁:)我現在嘗試你的解決方案 – user2058186 2013-03-20 16:15:25

+0

我剛剛嘗試過它,它不顯示任何輸出到任何一個列表框,我已經用它添加listBox1.DisplayMember =「名稱「+名稱;最終但仍然沒有成功 – user2058186 2013-03-20 16:18:40

相關問題