Vb.net DevExpress.XtraBars.BarEditItem检查的即时事件已更改

Vb.net DevExpress.XtraBars.BarEditItem检查的即时事件已更改,vb.net,winforms,visual-studio-2010,devexpress,Vb.net,Winforms,Visual Studio 2010,Devexpress,我目前正在Visual Studio 2010中使用DevExpress 11.2。目前我正在使用两个DevExpress.xtrabar.BarEditItem,它在我的windows窗体顶部的菜单栏(DevExpress.xtrabar.bar)中为我提供了两个复选框(带有标签)。现在我有了工作代码,所以当单击一个复选框时,它会取消选中/选中另一个复选框,并执行特定于该复选框的代码。这很有效 我的问题是DevExpress.XtraBars.BarEditItem没有检查更改事件。当前,我正

我目前正在Visual Studio 2010中使用DevExpress 11.2。目前我正在使用两个DevExpress.xtrabar.BarEditItem,它在我的windows窗体顶部的菜单栏(DevExpress.xtrabar.bar)中为我提供了两个复选框(带有标签)。现在我有了工作代码,所以当单击一个复选框时,它会取消选中/选中另一个复选框,并执行特定于该复选框的代码。这很有效

我的问题是DevExpress.XtraBars.BarEditItem没有检查更改事件。当前,我正在使用EditValueChanged事件,因为选中的复选框设置为True,而未选中的复选框设置为false。但是,在复选框失去焦点之前,不会调用EditValueChanged事件。这对我不起作用,因为我希望它是即时的。我查看了itemClick和ItemPress事件,但它们没有给我新的editvalue,如果有人按下标题(而不是方框部分),它仍然会触发。有什么办法可以马上举办活动吗


我在看两个不同的老项目(都在Visual Studio 2008中,使用的是DevXPress 9.2和10.2),看起来它做的一切都和我一样,但EditValueChanged事件会立即触发而不会失去焦点。

实际上,您要做的是使用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

非常感谢。当我回来的时候,我必须试试这个:这只是翻译,考虑到答案的年龄,我不能保证它仍然适用。DevExpress.XtraBars.BarEditItem项=新建DevExpress.XtraBars.BarEditItem();var Editor=new DevExpress.XtraEditors.Repository.RepositoryItemCheckEdit();item.Edit=编辑器;Editor.CheckChanged+=RepositoryItemCheckEdit1\u CheckChanged;