C# Listbox.items[i]。Selected仅捕获第一个选定项
我正试图在一个列表框中循环所有我选择的值,并将它们添加到一个字符串中。但是,当我执行下面的循环时,我得到的是列表框中的第一个选定项,而没有后续选定项。有人能看出我哪里做错了吗 我试过一步一步地看,但它似乎没有意识到这些项目已经被选中了。可能吧。所选的并不像我期望的那样工作,这适用于所有已选择要拾取的项目C# Listbox.items[i]。Selected仅捕获第一个选定项,c#,for-loop,listbox,listboxitem,C#,For Loop,Listbox,Listboxitem,我正试图在一个列表框中循环所有我选择的值,并将它们添加到一个字符串中。但是,当我执行下面的循环时,我得到的是列表框中的第一个选定项,而没有后续选定项。有人能看出我哪里做错了吗 我试过一步一步地看,但它似乎没有意识到这些项目已经被选中了。可能吧。所选的并不像我期望的那样工作,这适用于所有已选择要拾取的项目 string selectedItem = ""; if (impactedServicesData.Items.Count > 0)
string selectedItem = "";
if (impactedServicesData.Items.Count > 0)
{
for (int i = 0; i < impactedServicesData.Items.Count; i++)
{
if (impactedServicesData.Items[i].Selected)
{
if (selectedItem == "")
{
selectedItem = impactedServicesData.Items[i].Value;
}
else
{
selectedItem += "," + impactedServicesData.Items[i].Value;
}
}
}
}
确保已正确设置允许选择多个项目 然后,对于多选列表框,可以使用获取所有选定项的集合 您的代码可以重新编写为:
string selectedItem = "";
foreach (var s in impactedServicesData.SelectedItems)
{
if (selectedItem == "")
{
selectedItem = s.Value;
}
else
{
selectedItem += "," + s.Value;
}
}
还考虑在循环中连接多个字符串时使用A。
确保设置正确,允许多个项选择。
然后,对于多选列表框,可以使用获取所有选定项的集合 您的代码可以重新编写为:string selectedItem = "";
foreach (var s in impactedServicesData.SelectedItems)
{
if (selectedItem == "")
{
selectedItem = s.Value;
}
else
{
selectedItem += "," + s.Value;
}
}
还考虑在循环中连接多个字符串时使用A。