bool flag = false;
private void listBox1_Click(object sender, EventArgs e)
{
if (flag)
{
listBox1.SelectedIndex = -1;
flag = false;
}
else
flag = true;
}
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;
}