我目前正在Visual Studio 2010中使用DevExpress 11.2。目前我正在使用两个DevExpress.XtraBars.BarEditItem,它在我的菜单栏(DevExpress.XtraBars.Bar)顶部提供了两个复选框(带有标签)我的窗户形式。现在我有工作代码,这样当单击一个复选框时,它取消选中/检查另一个复选框并执行特定于该框的代码。这很有效。
我的问题是DevExpress.XtraBars.BarEditItem没有检查更改事件。目前我正在使用EditValueChanged事件,因为已选中复选框设置为True,未选中复选框设置为false。但是,在复选框失去焦点之前,不会调用EditValueChanged事件。这对我来说不起作用,因为我想要它瞬间完成。我查看了itemClick和ItemPress事件,但他们没有给我新的editvalue,如果有人按下标题(而不是盒子部分),它仍然会触发。有什么事情可以马上得到这个活动吗?
我正在寻找两个不同的旧项目(在Visual Studio 2008中并使用DevExpress 9.2和10.2),看起来它像我一样完成所有事情但EditValueChanged事件立即触发而没有任何失去焦点。< / p>
答案 0 :(得分:1)
实际上你想要做的是使用BarItem中的repositoryCheckEdit上的事件,而不是直接使用barEditItems事件。它将具有您可以使用的CheckChanged和CheckStateChanged事件。
您要用于事件的存储库项目将列在BarEditItem的Edit属性中。
在代码中:
Dim item As New DevExpress.XtraBars.BarEditItem
Dim Editor As New DevExpress.XtraEditors.Repository.RepositoryItemCheckEdit
item.Edit = Editor
AddHandler Editor.CheckedChanged, AddressOf RepositoryItemCheckEdit1_CheckedChanged