我有一个包含3个列表项的列表框(bob,peter,john)。如何根据数组中适用的内容选择/突出显示列表项。目前我有这个:
string names = reader["staffName"].ToString();
string[] selectedName = names.Split(',');
for (int i = 0; i < selectedName.Length; i++)
{
lbName.SelectedIndex = lbName.Items.IndexOf(lbName.Items.FindByValue(selectedName[i]));
}
但它只突出显示数组中的最后一项。例如selectedName由2个名称(bob和john)组成,但只有john突出显示
答案 0 :(得分:1)
首先,您应该检查lbName.SelectionMode
是否为ListSelectionMode.Multiple
然后你应该以下
string names = reader["staffName"].ToString();
string[] selectedName = names.Split(',');
lbName.SelectedIndex = -1;
foreach (var name in selectedName)
{
lbName.Items.First(item => item.Value == name).Selected = true;
}