2012-02-15 6 views
0

私は現在、Visual Studio 2010内でDevExpress 11.2を使用しています。現在、2つのDevExpress.XtraBars.BarEditItemを使用しています(メニューバーに2つのチェックボックスDevExpress.XtraBars.Bar)をWindowsフォームの上部に表示します。今のところ私は作業用のコードを持っているので、あるチェックボックスをクリックすると、チェックボックスをオフ/チェックして、そのボックスに固有のコードを実行します。これは機能します。DevExpress.XtraBars.BarEditItemの即時イベントが変更されました

私の問題は、DevExpress.XtraBars.BarEditItemにチェックが変更されたイベントがないことです。チェックされているチェックボックスがTrueに設定されており、チェックされていないチェックボックスがfalseに設定されているため、現在EditValueChangedイベントを使用しています。ただし、チェックボックスがフォーカスを失うまで、EditValueChangedイベントは呼び出されません。これは私が瞬時にしたいので私のためには機能しません。私はitemClickイベントとItemPressイベントを調べましたが、新しい編集値を私に渡すことはなく、誰かが(ボックス部分ではなく)キャプションを押してもそれはまだ起動します。すぐにイベントを取得するためにsomewayですか?

私は2つの異なる古いプロジェクト(Visual Studio 2008とDevExpress 9.2と10.2の両方を使用しています)を見ていますが、それは私と同じ方法ですが、EditValueChangedイベントはすべてフォーカスを失うことなくすぐに起動します。

答えて

1

実際には、barEditItemsイベントではなく、BarItemにあるrepositoryCheckEditのイベントを使用します。これは、使用できる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 
+0

ありがとうございました。私が戻ったときにこれを試してみる必要があります:D – Kyra

+0

ありがとう。それは完璧に働いた。 – Kyra

関連する問題