2013-03-18 332 views
2

我有一個自定義類「Person」,具有名稱,電子郵件等屬性。我有一個名爲「people」的List,並且我有一個listView,顯示「people」中每個項目的名稱名單。InvalidArgument ='0'的值對'index'無效。參數名稱:索引

我試圖去掉「人民」項目用戶已在ListView選擇,在一個button1.Click事件下面的代碼行:

people.RemoveAt(listView1.SelectedItems[0].Index); 

但它拋出的錯誤

listView1.Items.Remove(listView1.SelectedItems[0]); 

我在下面發現這裏的教程視頻:http://www.youtube.com/watch?v=0ZoDmeAZAD8

的稱號,然而,之後的代碼從它的工作原理沒有問題ListView中刪除名稱

非常感謝。

+0

您是否直接試過'.SelectedIndex'? – ja72 2013-03-18 19:23:36

+1

請不要在你的問題中加入鏈接..如果你可以花時間寫這個問題,那麼你顯然可以發佈與你有問題有關的代碼 – MethodMan 2013-03-18 19:24:04

+3

我把所有需要的東西都回答在問題中,如果有人想看,我還添加了一個代碼鏈接。請提出具體問題,我會從代碼中獲得任何你需要知道的信息併發布,謝謝。 – Abraham 2013-03-18 19:26:47

回答

2

問題是我從ListView1中刪除它之前,我從List中刪除它,所以它找不到我指的是什麼,並拋出一個錯誤。

因此,所有我需要做的就是切換這兩個(已轉)

people.RemoveAt(listView1.SelectedItems[0].Index); // removes item from people LIST. 
listView1.Items.Remove(listView1.SelectedItems[0]); // removes item/person from LISTVIEW 

和它的作品!謝謝大家,下次我不會在單獨的鏈接中發佈所有的代碼,對不起。

+0

我不建議保留兩個單獨的列表,即'Person'和'ListViewItem'之一,並嘗試同步它們。我建議在人員名單上進行操作,然後重新填入「List 」列表視圖。此外,我經常將ListViewItem的'.Tag'屬性與它所代表的類連接起來,然後我可以使用列表的'IndexOf()'方法來查找我必須處理的索引。 – ja72 2013-03-19 04:16:55

相關問題