0

私はvb.netを使用してwinformsでコードを記述しており、特定のユーザービジネスルールエラー条件が存在する場合にdatagridviewがフォーカスを失うのを防ごうとしています。エラーが存在する場合、フォーカスをそれ自体に戻すleaveイベントにコードがあります。ただし、フォームのボタンは引き続きクリックできるため、これは完全には機能していないようです。データグリッドビューにフォーカスを維持し、ユーザーがデータグリッドビューに入るときにボタンを無効にせずにボタンをクリックできないようにする方法を知っている人はいますか?カスタムのdatagridviewコントロールを作成していて、datagridviewコントロールにフォーカスを保ち、フォームのボタンをクリックできないようにするための汎用ルーチンが必要です。

4

2 に答える 2

0

あるコントロールから別のコントロールへのフォーカスの移行中に発生する一連のイベントがあります。このmsdnリンクにその説明があります。

コントロールの検証フックの目的であるため、ビジネスルールをそのパターンに適合させる方法を見つけることをお勧めします。特に、独自のコントロールを作成している場合は、これらのイベントを使用して検証ロジックの一部をカプセル化できる場合もあります。

于 2012-11-14T18:35:08.430 に答える
0

フォームが検証エラーにフォーカスを変更しないようにするには、フォームのAutoValidateプロパティをEnablePreventFocusChangeに設定します。http://msdn.microsoft.com/en-us/library/system.windows.forms.autovalidate(v=vs.100).aspx

検証エラーが存在するときにボタンが送信されないようにするには、ボタンのCausesValidationプロパティをtrueに設定します。http://msdn.microsoft.com/en-us/library/system.windows.forms.control.causesvalidation(v=vs.110).aspx

于 2014-06-09T16:05:00.930 に答える