2012-02-15 49 views
0

我目前使用的DevExpress 11.2 Visual Studio 2010中內目前我使用兩個DevExpress.XtraBars.BarEditItem這使我在我的菜單欄上的兩個複選框(用標籤)( DevExpress.XtraBars.Bar)在我的Windows窗體的頂部。現在我有工作代碼,當單擊一個複選框時,取消選中/檢查另一個複選框並執行特定於該框的代碼。這工作。爲DevExpress.XtraBars.BarEditItem檢查瞬時事件改變

我的問題是,DevExpress.XtraBars.BarEditItem沒有檢查更改事件。目前我正在使用EditValueChanged事件,因爲選中的複選框設置爲True,未選中的複選框設置爲false。然而,EditValueChanged事件在複選框失去焦點之前不會被調用。這對我而言並不適用,因爲我希望它瞬間完成。我查看了itemClick和ItemPress事件,但他們沒有給我新的編輯值,如果有人按下標題(而不是框部分),它仍然會觸發。有沒有辦法馬上得到事件?

我正在尋找兩個不同的舊項目(在Visual Studio 2008和使用DevExpress 9.2和10.2),它看起來像它一樣以我的方式執行,但EditValueChanged事件立即觸發而沒有失去焦點。

回答

1

其實你想要做的是使用的事件上是在BarItem,而不是直接的barEditItems事件repositoryCheckEdit。它將具有可以使用的CheckChanged和CheckStateChanged事件。

要使用將在BarEditItem的編輯財產的事件列表庫項目。

代碼:

Dim item As New DevExpress.XtraBars.BarEditItem 
    Dim Editor As New DevExpress.XtraEditors.Repository.RepositoryItemCheckEdit 
    item.Edit = Editor 
    AddHandler Editor.CheckedChanged, AddressOf RepositoryItemCheckEdit1_CheckedChanged 
+0

謝謝。當我回來時將不得不嘗試以下操作:D – Kyra 2012-02-18 04:39:06

+0

謝謝。這工作完美。 – Kyra 2012-02-27 18:04:35