我现在有俩listbox1,listbox2
listbox2设置了一个leave事件,当我点listbox1其中一项的时候会触发这个leave事件,弹出一个Messagebox 显示 是否保存,我点是,就会触发listbox1的select_changed事件,选否不触发listbox1的select_changed事件,但是点了否listbox1的select的选项变了,怎么能让他不变?我点了否 还listbox1.selectItem = "";也完全不起作用,求高手给点建议

解决方案 »

  1.   

    我Debug,F11跟着 就走了一个DrawItem方法,这方法里 我根本没写listbox1,什么原因啊
      

  2.   

    而且 明明一直就没触发过listbox1.select_changed事件,他如何变的?
      

  3.   

    你把代码贴出来呗,怎么感觉根据你的描述你的listbox1有两个select_changed事件啊?
      

  4.   

    private void Init()
            {
                listBox1.Items.Add("1");
                listBox1.Items.Add("2");
                listBox1.Items.Add("3");
            }        private void listBox2_Leave(object sender, EventArgs e)
            {
                if(MessageBox.Show("确定删除","确定?",MessageBoxButtons.YesNo)==DialogResult.Yes)
                {
                    MessageBox.Show(b.ToString());
                }
                else
                {
                    int a = 0;
                    MessageBox.Show(b.ToString());
                    listBox1.SelectedIndex = 0;
                }
            }        private void listBox1_SelectedIndexChanged(object sender, EventArgs e)
            {
                b = 10;
                listBox1.SelectedIndex = 0;
            }
      

  5.   

    基于重新debug了下,在leave事件之前先触发了select_changed事件,很可惜debug断点没进(感觉很诡异,因为我设置了一个b的值,点否的情况下debug,select_changed始终没进去,但是b的值的确变了,这个问题有待研究..),我怀疑selectItem和显示的item不是一个.
      

  6.   

    listBox1和listBox2是一个数据源吗?