
C# winform中关于两个ListBox清除selectIndex的问题。
我想在listBox1中选中了一个选项就清除对listBox2中的选定,在listBox2中选中了一个选项就清除对listBox1中的选定,想用系统提供的selectIn...
我想在listBox1中选中了一个选项就清除对listBox2中的选定,在listBox2中选中了一个选项就清除对listBox1中的选定,想用系统提供的selectIndexChanged方法。
private void listBox1_SelectedIndexChanged(object sender, EventArgs e)
{
listBox2.SelectedIndex = -1;
}
private void listBox2_SelectedIndexChanged(object sender, EventArgs e)
{
listBox1.SelectedIndex = -1;
}
这样的话,在listBox1中选中一个选项。listBox2中的SelectIndex就会变成-1,然后程序发现listBox2中的SelectIndex发生了改变就会进入listBox2_SelectedIndexChanged把listBox1中的SelectIndex也变成-1。。。。。求帮助,不知道怎么办了。= =
找到了,正确的解决方法是这样的
private void listBox1_SelectedIndexChanged(object sender, EventArgs e)
{
listBox2.SelectedIndexChanged +=listBox2_SelectedIndexChanged;
listBox2.SelectedIndex = -1;
listBox2.SelectedIndexChanged +=listBox2_SelectedIndexChanged;
}
private void listBox2_SelectedIndexChanged(object sender, EventArgs e)
{
listBox1.SelectedIndexChanged +=listBox1_SelectedIndexChanged;
listBox1.SelectedIndex = -1;
listBox1.SelectedIndexChanged +=listBox1_SelectedIndexChanged;
} 展开
private void listBox1_SelectedIndexChanged(object sender, EventArgs e)
{
listBox2.SelectedIndex = -1;
}
private void listBox2_SelectedIndexChanged(object sender, EventArgs e)
{
listBox1.SelectedIndex = -1;
}
这样的话,在listBox1中选中一个选项。listBox2中的SelectIndex就会变成-1,然后程序发现listBox2中的SelectIndex发生了改变就会进入listBox2_SelectedIndexChanged把listBox1中的SelectIndex也变成-1。。。。。求帮助,不知道怎么办了。= =
找到了,正确的解决方法是这样的
private void listBox1_SelectedIndexChanged(object sender, EventArgs e)
{
listBox2.SelectedIndexChanged +=listBox2_SelectedIndexChanged;
listBox2.SelectedIndex = -1;
listBox2.SelectedIndexChanged +=listBox2_SelectedIndexChanged;
}
private void listBox2_SelectedIndexChanged(object sender, EventArgs e)
{
listBox1.SelectedIndexChanged +=listBox1_SelectedIndexChanged;
listBox1.SelectedIndex = -1;
listBox1.SelectedIndexChanged +=listBox1_SelectedIndexChanged;
} 展开
1个回答
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询