我如何在列表框中单击五个项目?如果我单击任何项目,我只想从所选索引中 +2 和 -2。所以我的单击需要在列表视图中选择五个项目。我正在使用 C#(WPF)。
2 回答
1
我不确定您到底想做什么,但正在尝试。=)
看看 ListBox 的 Click 事件。您可以在那里做任何事情,包括选择您选择的五个项目。你可以这样做(未经测试,但给你一个想法):
int sindex = listBox1.SelectedIndex;
listBox1.SelectedItems.Clear();
for(int i = Math.Max(sindex - 2, 0); i < Math.Min(sindex + 2, listBox1.Items.Count()), i++)
{
listBox1.SelectedItems.Add(listBox1.Items[i]);
}
另一件事是将 SelectionMode 设置为 Multiple 或 Extended。这是否会导致您正在寻找的行为?
于 2010-10-22T09:39:38.157 回答
0
看看 selectionchanged 事件,并获取所选项目的索引并将其设为 +2 和 -2 我这样尝试过,它可以工作:
void list_SelectionChanged(object sender, SelectionChangedEventArgs e)
{
int idx = list.SelectedIndex;
int startIdx = idx - 2;
int endIdx = idx + 2;
if (startIdx < 0)
{
startIdx = 0;
}
if (endIdx >= list.Items.Count)
{
endIdx = list.Items.Count-1;
}
for (int i = startIdx; i <= endIdx; i++)
{
if (i != idx)
{
list.SelectedItems.Add(list.Items[i]);
}
}
}
这段代码的一个问题是您仍然可以使用 ctrl 来选择另一个项目,因此它会使选定项目的数量增加
于 2010-10-22T10:15:18.350 回答