【发布时间】:2016-11-13 02:20:39
【问题描述】:
我在我的 Windows 应用程序上使用Listbox。列表框有一个多选选项,用户可以选择新用户将拥有的所有角色。
我的列表框绑定到数据集。该表是 Roles,具有 ID 列和 Description 列。
当我绑定列表框时,我选择数据源为数据集,显示成员为描述,值成员为ID,选定值为数据集-roles.frolesid
现在,当我遍历列表框的选定项时,我只得到第一项的值等...
我正在尝试将一个 int 分配给当前选定的值,以获取要提供给用户的 ID。
int num = 0;
foreach (var item2 in lstRoles.SelectedItems)
{
num = Convert.ToInt32(lstRoles.SelectedValue);
}
因此,如果我选择 3 个角色,例如管理员、捕获者和评估者,我只会看到管理员值。
如何循环和访问下一项?我什至没有使用
项目2 在我的代码中。这个可以用吗?
例如:
第一次迭代:
它只是停留在那个选定的项目上,永远不会移动到下一个项目。
【问题讨论】:
-
你已经在使用它了。 “lstRoles.SelectedItems”。如果你运行迭代直到完成,你可以看到“Administrator, Assessor, Capturer”
-
实际上并非如此。当我通过时,它停留在管理员上
-
试试 "lstRoles.SelectedItems.Count" ,必须是 3
-
它是 3。但它没有给我任何其他我可以使用的东西。除非我用计数做一些 if 语句?
-
lstRoles.SelectedItems[0] 是您的第一个 selectedItem,然后 lstRoles.SelectedItems[1] 是您的第二个 selectedItem,然后 lstRoles.SelectedItems[2] 是您的第三个 selectedItem
标签: c# winforms listbox selecteditem selectedvalue