在ComboBox中更改选择时,在DataGridView中更改了提交

bit*_*onk 4 combobox datagridview focus

一旦单元格中的编辑控件改变了它的选择,我怎么能强制DataGridView.CellValueChanged引发事件(并且已经改变了DataGridViewCell.Value属性的属性)ComboBox?默认情况下,仅在具有ComboBox的单元格失去焦点后才会引发事件.

tet*_*Arg 6

我解决了这个问题:

    myDataGridView.EditingControlShowing += new System.Windows.Forms.DataGridViewEditingControlShowingEventHandler(myDataGridView_EditingControlShowing);

    private void myDataGridView_EditingControlShowing(object sender, DataGridViewEditingControlShowingEventArgs e)
    {
        if (e.Control.GetType() == typeof(DataGridViewComboBoxEditingControl))
        {
            ComboBox cmb = (ComboBox)e.Control;
            cmb.SelectionChangeCommitted -= new EventHandler(cmb_SelectionChangeCommitted);
            cmb.SelectionChangeCommitted += new EventHandler(cmb_SelectionChangeCommitted);
        }
    }

    void cmb_SelectionChangeCommitted(object sender, EventArgs e)
    {
        dgvPresupuesto.CurrentCell.Value = ((DataGridViewComboBoxEditingControl)sender).EditingControlFormattedValue;
    }
Run Code Online (Sandbox Code Playgroud)