winform中的listbox控件怎么在当前选择上再点击一下,而后可以取消当前选择 急!

2025-05-14 01:06:15
推荐回答(2个)
回答1:

bool flag = false;
private void listBox1_Click(object sender, EventArgs e)
{
if (flag)
{
listBox1.SelectedIndex = -1;
flag = false;
}
else
flag = true;
}

回答2:

int last_selected_index = -1; // 上一次 listBox 选择的序号
private void listBox_MouseClick(object sender, MouseEventArgs e) { // 先触发
if (listBox.IndexFromPoint(e.Location) == last_selected_index ) {
listBox.SelectedIndex = -1;
}
}
private void listBox_SelectedIndexChanged(object sender, EventArgs e) { // 后触发
last_selected_index = listBox.SelectedIndex;
}