【问题标题】:How to work with BarEditItem and BarCheckItem in RibbonControl Winforms Devexpress ?如何在 RibbonControl Winforms Devexpress 中使用 BarEditItem 和 BarCheckItem?
【发布时间】:2014-01-01 06:25:41
【问题描述】:

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

【问题讨论】:

  • Devexpress 支持网站包含您应该在那里查看的所有这些信息。查看 BarManager add->Editors->CheckedComboBoxEdit 你需要访问 RepositorItem 以便 CheckedComboBoxEdit 与 Checked Combo Box 交互。我希望这会有所帮助。

标签: winforms checkbox devexpress ribbon-control


【解决方案1】:

这是你需要的吗?

添加BarEditItemCheckEdit,附加CheckedChangedRepositoryItemCheckEdit 事件。你已经完成了。

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
       }
     }
}

【讨论】:

  • 嗨,Sriram 我已经尝试过这个 repositoryItemCheckEdit1_CheckedChanged 事件,但是如何获得它是否被选中?我需要像这样执行` if (barCheckItem1.Checked) { //code } else { //code }`
  • @SriHari 编辑了我的答案
  • barCheckedItem 只是一个占位符,repositoryItemCheckedEdit1 是控件本身,因此您需要访问该控件而不是占位符。
【解决方案2】:

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

一种方法是:

CheckEdit checkEdit = barEditItem.Edit as CheckEdit;
bool isChecked = checkEdit.Checked;

另一种是直接仓库编辑器:

 bool isChecked = repositoryItemCheckedEdit.ValueChecked;

我希望这会有所帮助。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-12-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多