gpt4 book ai didi

c# - Listbox.items[i].Selected 只捕获第一个选中的项目

转载 作者:太空宇宙 更新时间:2023-11-03 22:28:41 24 4
gpt4 key购买 nike

我正在尝试遍历列表框中的所有选定值并将它们添加到字符串中。但是,当我执行下面的循环时,我得到的只是列表框中的第一个选定项,而没有任何后续选定项。谁能看出我哪里出错了?

我试过单步执行它,但它似乎没有意识到项目已被选中。也许 .Selected 没有像我预期的那样工作,这是针对所有已选择要拾取的项目。

       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;
}
}
}
}

最佳答案

确保你已经设置了 SelectionMode正确地允许多项选择。

然后,对于一个多选的ListBox,你可以使用SelectedItems获取所有选定项目的集合。

您的代码可以重写为:

string selectedItem = "";
foreach (var s in impactedServicesData.SelectedItems)
{
if (selectedItem == "")
{
selectedItem = s.Value;
}
else
{
selectedItem += "," + s.Value;
}
}

也可以考虑使用 StringBuilder在循环中连接多个字符串时。

关于c# - Listbox.items[i].Selected 只捕获第一个选中的项目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59302019/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com