我正在尝试在程序中选择ListBox中的项目,但到目前为止我还是无法这样做。
我找到了答案,但我找到的所有内容都是使用ListBox.SetSelected()
方法,但我没有这样的东西。
我发现有两个完全不同的ListBox,而我正在使用第二个:
System.Windows.Forms.ListBox
System.Windows.Controls.ListBox
ListBox中的所有项目都是通过Binding添加的,这也无济于事。有什么想法吗?
编辑:
我刚发现这有效:
listBox.SelectedIndex = 5;
listBox.UpdateLayout();
listBox.Focus();
显然,我错过了最后一个方法,该方法将突出显示设置为所选项目,即使在此之前也正常更新。
答案 0 :(得分:1)
您是否尝试通过SelectedIndex
https://msdn.microsoft.com/en-gb/library/system.windows.controls.primitives.selector.selectedindex(v=vs.110).aspx或SelectedItem
https://msdn.microsoft.com/en-gb/library/system.windows.controls.primitives.selector.selecteditem(v=vs.110).aspx或SelectedItems
(多选)https://msdn.microsoft.com/en-gb/library/system.windows.controls.listbox.selecteditems(v=vs.110).aspx进行设置?< / p>
答案 1 :(得分:0)
你试过SelectedItem吗?
示例:
private void listBox1_SelectedIndexChanged(object sender, System.EventArgs e)
{
// Get the currently selected item in the ListBox.
string curItem = listBox1.SelectedItem.ToString();
}
答案 2 :(得分:0)
以下是MSDN网站上有关在列表框中设置所选项目的文档。这是在按钮点击事件上完成的。
private void button1_Click(object sender, System.EventArgs e)
{
listBox1.Items.Add("One");
listBox1.Items.Add("Two");
listBox1.Items.Add("Three");
listBox1.SelectedIndex = listBox1.FindString("Two");
}
答案 3 :(得分:0)
要获取当前所选项目
ListBox.SelectedItems()