我在ComboBox的selectedchangecommited事件的处理函数中弹出另一个子Form,如果用鼠标点击改变combobox的值,没有任何问题,但是如果用键盘山的上下箭头选中一个value,然后按enter键后,子form被弹出两次,也就是说selectedchangecommited事件被触发了两次。这是为什么?

解决方案 »

  1.   

    应该是SelectionChangeCommitted吧?
      

  2.   

    事实上我也觉得有点奇怪,这种情况只会当在SelectionChangeCommitted的处理方法中新建窗体或显示MessageBox时才会发生,也就是当在SelectionChangeCommitted的处理方法中的代码导致当前窗体失去焦点时才会发生。比如你在SelectionChangeCommitted的处理方法中对在同一窗体中的ListBox添加一条记录却不会引发两次SelectionChangeCommitted事件。
      

  3.   

    我也遇到了同样的问题,而且用键盘选中一个value后,再按tab键或者esc键的话,子form又不被弹出了,SelectionChangeCommitted事件又不被激发了,据说是C#自身的BUG?