预期的内容:在列表框中逐个对每个项目执行任务的工具。
正在发生的事情:工具仅对列表框中用户选择的项目执行任务。别无其他。
代码:
int index;
string item;
foreach (int i in listBox1.SelectedIndices)
{
index = listBox1.SelectedIndex;
item = listBox1.Items[index].ToString();
texteditor.Documents.Open(@item);
}
答案 0 :(得分:2)
这应该遍历所有项目
foreach (var item in listBox1.Items)
{
texteditor.Documents.Open(item.ToString());
}
答案 1 :(得分:1)
您正在迭代所选项目,而您想要对列表框中的所有项目进行交互。
此外,迭代ListBox的正确方法是返回ListItem而不是int。
试试这个:
string item;
foreach (ListItem li in listBox1.Items)
{
item = li.ToString();
texteditor.Documents.Open(@item);
}
我还从代码中删除了索引变量。如果你需要其他东西的索引,你需要一个像这样的for循环:
string item;
for (int index = 0; index < listBox1.Items.Count; index++) {
item = listBox1.Items[index].ToString();
texteditor.Documents.Open(@item);
// do something with index
}