datagridview EditingControlShowing 在combox下拉的时候不触发事件

198 阅读1分钟

combox下拉选择之后触发事件,而不是在下拉的时候就触发事件,需要加上一个combox.Leave += new EventHandler(combox_Leave);

        {
            if (dataGridView_pinmux.CurrentCell.ColumnIndex == COLUMN_INDEX_PIN)
            {
                ComboBox comboBox = e.Control as ComboBox;
                comboBox.SelectedIndexChanged -= new EventHandler(ComboBox_SelectedIndexChanged);
                comboBox.SelectedIndexChanged += new EventHandler(ComboBox_SelectedIndexChanged);
                //((ComboBox)e.Control).SelectedIndexChanged += new EventHandler(ComboBox_SelectedIndexChanged);
            }
        }
       private void ComboBox_SelectedIndexChanged(object sender,EventArgs e)
        {
            ComboBox combox = sender as ComboBox;
            combox.Leave += new EventHandler(combox_Leave);
            try
            {
               
            }
            catch (Exception exc)
            {
                HandleAlarm(AlarmLevel.Error, "Function select error:{0}", exc.Message);
            }
        }  
        
         private void combox_Leave(object sender, EventArgs e)
        {
            ComboBox combox = sender as ComboBox;
            combox.SelectedIndexChanged -= new EventHandler(ComboBox_SelectedIndexChanged);
        }