2016-11-26 35 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