是否可以在检查项目后立即在CheckedComboBoxEdit控件中触发EditValueChanged事件

时间:2015-09-07 12:35:55

标签: c# .net combobox devexpress

我需要在检查项目后立即更新CheckedComboBoxEdit控件的编辑值

2 个答案:

答案 0 :(得分:0)

MouseUp事件可用于触发EndEdit,它会稍微提交更改。

我在使用DateGridView中的CheckBox时使用它来解决我的类似问题。默认情况下,在DataGridView中提交更改的事件仅在离开单元格时触发。

答案 1 :(得分:0)

您应该订阅CheckedComboBoxEdit的Popup事件,找到CheckedListBoxControl并订阅ItemCheck事件。像这样:

    void _orgStructEntitesCheckedComboBoxEdit_Popup(object sender, EventArgs e)
    {
        var popup = (IPopupControl)sender;

        var control = popup.PopupWindow.Controls.OfType<PopupContainerControl>().First().Controls.OfType<CheckedListBoxControl>().First();

        control.ItemCheck += control_ItemCheck;
    }

    void control_ItemCheck(object sender, DevExpress.XtraEditors.Controls.ItemCheckEventArgs e)
    {
        var checkedListBoxControl = (CheckedListBoxControl)sender;
        var current = checkedListBoxControl.Items[e.Index];
    }

使用e.Index更改当前项目。

更多信息herehere