2016-11-26 70 views

回答

0

假設你正在使用的WinForms ,您可以修改項目的屬性在列表框中通過Items property。這將返回一個ListBox.ObjectCollection。您可以索引到該集合並修改單個項目。

通常,ListBox中的項目只是字符串,因此將新字符串分配給Items集合中的相應索引將更改ListBox中的文本。但是,它們實際上可以是任何類型的對象。檢查首先將項目添加到ListBox的代碼,以確保它們是字符串。如果他們是別的東西,你需要相應地修改那個數據結構。

要做到這一點所有列表中的項目,您將需要使用循環通過整個Items集合。

例如:

For i As Integer = 0 to (myListBox.Items().Count - 1) 
    myListBoxItems.Items(i) = myListBox.Items(i) + ".gz" 
Next 

如果不能保證在ListBox中的所有項目應該有.gz擴展添加到他們,你將需要使用循環體的內部條件語句首先測試字符串的當前值以決定是否附加擴展名。

+0

即在執行代碼,'類型「System.ArgumentOutOfRangeException」的未處理的異常發生在System.Windows.Forms.dll'給錯誤, '附加信息:InvalidArgument ='1'的值對於'index'無效,儘管我確實找到了解決方法,所以現在問題已經解決了,謝謝你試試。 – Joey

+1

循環應該是'For i As Integer = 0 to myListBox.Items()。Count - 1'(with:minus one) –

+0

當然它應該。謝謝,@Oliver!將來,請不要爲編輯修改我的答案中的代碼錯誤而感到羞恥。我知道不是每個人都喜歡這個,但我沒有看到任何錯誤。我經常錯過評論,因爲我每天都會收到數百個這樣的通知,而沒有時間全部閱讀。我碰巧看到這個,所以我已經修復了代碼。 –

0

對於最小的溶液,嘗試使用以下代碼

Dim MyList = (From lst In ListBox1.Items.Cast(Of String)() Select lst & ".gz").ToList 

ListBox1.DataSource = MyList