DevExpress::XtraBars::BarEditItem获取EditValue值事件

在DevExpress的XtraBars组件中,通过BarEditItem的EditValue直接获取当前Value值存在困难。传统的Click、CheckedEditChanged或EditValueChanged事件无法提供所需的新值。解决方法是在repositoryItemCheckEdit2中订阅EditValueChanging事件,通过该事件的e.NewValue属性来获取当前值,而e.OldValue用于获取之前的值。
部署运行你感兴趣的模型镜像

 

 1 //视图设计器中拖动一个barManager,添加一个bar,再添加一个BarEditItem控件,如下代码:
 2 
 3  private:  DevExpress::XtraEditors::Repository::RepositoryItemCheckEdit^  repositoryItemCheckEdit2;
 4  private: DevExpress::XtraBars::BarEditItem^  biIsOR;
 5 
6 7 8 // 9 // biIsOR 10 // 11 this->biIsOR->Caption = L"OR"; 12 this->biIsOR->Edit = this->repositoryItemCheckEdit2; 13 this->biIsOR->EditValue = false; 14 15 16 // 为biIsOR的Edit添加一个EditValueChanging事件,该事件捕获CheckEditValue。
17 // repositoryItemCheckEdit2 18 // 19 this->repositoryItemCheckEdit2->AutoHeight = false; 20 this->repositoryItemCheckEdit2->Name = L"repositoryItemCheckEdit2"; 21 this->repositoryItemCheckEdit2->ValueChecked = true ; 22 this->repositoryItemCheckEdit2->EditValueChanging += gcnew DevExpress::XtraEditors::Controls::ChangingEventHandler(this, &myOpenFilterDlg::repositoryItemCheckEdit2_EditValueChanging); 23
 

奇怪的是,    (bool)biIsOR->EditValue     并不能捕获当前Value值,

所以在biIsOR或者repositoryItemCheckEdit2 中添加:Click事件,CheckedEditChanged事件,EditValueChanged事件等都不能捕获,

并且也没有e->NewValue属性;

需要通过    repositoryItemCheckEdit2  中添加EditValueChanging事件,

通过 e->NewValue      获取当前值,e->OldValue       获取之前的值;

转载于:https://www.cnblogs.com/dot-dot-123/p/3481860.html

您可能感兴趣的与本文相关的镜像

ComfyUI

ComfyUI

AI应用
ComfyUI

ComfyUI是一款易于上手的工作流设计工具,具有以下特点:基于工作流节点设计,可视化工作流搭建,快速切换工作流,对显存占用小,速度快,支持多种插件,如ADetailer、Controlnet和AnimateDIFF等

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值