如何在RibbonControl Winforms DevXpress中使用BarEditItem和BarCheckItem?

如何在RibbonControl Winforms DevXpress中使用BarEditItem和BarCheckItem?,winforms,checkbox,devexpress,ribbon-control,Winforms,Checkbox,Devexpress,Ribbon Control,我需要RibbonControl中的复选框,如果选中,我需要执行一些任务如果未选中,我需要执行一些其他任务。所以我尝试了barCheckItem1它工作正常,正如我所期望的那样,但它显示的像按钮“我需要精确的复选框”。因此,我再次在该项中使用了barEditItem1“CheckChanged”事件不可用,那么如果我在“EditValueChanged”事件中写入代码,如果我选中或取消选中未触发的事件。如何完成我的任务? 我需要带有CheckedChanged事件的复选框。这是您需要的吗 使用C

我需要RibbonControl中的复选框,如果选中,我需要执行一些任务如果未选中,我需要执行一些其他任务。所以我尝试了
barCheckItem1
它工作正常,正如我所期望的那样,但它显示的像按钮“我需要精确的复选框”。因此,我再次在该项中使用了
barEditItem1
“CheckChanged”事件不可用,那么如果我在“EditValueChanged”事件中写入代码,如果我选中或取消选中未触发的事件。如何完成我的任务? 我需要带有CheckedChanged事件的复选框。

这是您需要的吗

使用
CheckEdit
添加
BarEditItem
,附加
RepositoryItemCheckEdit
的事件
CheckedChanged
。你完了

private void repositoryItemCheckEdit1_CheckedChanged(object sender, EventArgs e)
{
    Console.WriteLine(((CheckEdit) sender).Checked);
}

private void button1_Click(object sender, EventArgs e)
{
     bool? ischecked = (bool?)barEditItem1.EditValue;
     if(!ischecked.HasValue)
     {
       //In determinate state
     }
     else
     {
       if(ischecked.Value)
       {
           //Checked
       }
       else
       {
           //Not Checked
       }
     }
}

有两种方法可以访问控件本身:

一种方法是:

CheckEdit checkEdit = barEditItem.Edit as CheckEdit;
bool isChecked = checkEdit.Checked;
另一个是直接使用存储库编辑器:

 bool isChecked = repositoryItemCheckedEdit.ValueChecked;

我希望这会有所帮助。

Devexpress支持网站上有所有这些信息,您应该在那里查看。查看BarManager add->Editors->CheckedComboxedit您需要访问RepositorItem,以便CheckedComboxedit与Checked Combo Box交互。我希望这会有所帮助。您好,Sriram,我已经尝试过此repositoryItemCheckEdit1\u CheckedChanged事件,但如何获取是否选中它??我需要这样执行`if(barCheckItem1.Checked){//code}else{//code}`@SriHari编辑了我的回答barCheckedItem只是一个占位符repositoryItemCheckedEdit1是控件本身,因此您需要访问该控件而不是占位符。