2011-12-08 5 views
1

グリッド行の「変更を破棄する」というボタンがあります。行がフォーカスを失っているときに呼び出されるValidate行ハンドラがあり、chanegsが無効な場合はmsgをポップアップします。MouseEnter/LeaveイベントとHoverイベントがその場にあるとき、ButtonのMouseClickイベントが発生しません(デプレクスボタン)

ユーザーが破棄をクリックすると、新しい行がすぐに破棄されます。

クリックイベントハンドラの前に、validate行ハンドラが呼び出されているため、無効なエントリメッセージ(セル値が無効な場合)がポップアップされます。ここでは、ボタンクリックを最初に呼び出す必要があります。

廃棄ボタンをクリックしたために行がフォーカスを失ったことを検出する方法について考えました。

私はEnterを押して、この変数を設定/解除するイベントをこのままにしました。この変数が設定されている場合、Validate内部では何もしません。

しかし、enter/leaveイベントを使用すると、実際のクリックイベントはまったく発生しません。検証またはクリックのいずれかが発生します。無限のEnter/Leaveが起こっているかもしれません。誰かが助けることができる?

+1

clickイベントにブレークポイントを設定して、それが呼び出されているかどうかを確認しようとしましたか?もちろん、 –

+0

です。それは私がやる最初のことであり、クリック発生の機能を検証することに依存していません。 –

+0

あなたは送信者とeventargも評価したのでしょうか?何もありませんか? –

答えて

0

SimpleButtonを使用している場合は、AllowFocusプロパティをfalseに設定します。このトリックは、冗長な検証を取り除くのに役立ちます。

関連する問題