DOBON.NET どぼん!のVB道掲示板(プログラム)過去ログ

ControlのValidatingイベントにを発生させないようにする方法

いつもお世話になっています。

現在VB.NETで開発中のものですが、取消処理で困っています。

VB6では単項目チェックにValidateイベントを使用しており。
取消機能の時にはValidateイベントを発生させたくないため、
取消ボタンのCausesValidationプロパティにFalseを設定し、
取消対象コントロールのEnabledプロパティをFalseにして
画面クリア処理を実行して、別コントロールにフォーカスを移動していました
(移動先のCausesValidationプロパティはTrue)

VB6ではこの処理でValidateイベントが発生しなくなったのですが、VB.NETではValidatingイベントが発生してしまうみたいなのです、
(VB.NETではValidateイベントがなくなっているようなのでValidatingイベントで代用しました。)

どのようにして、イベントを発生させないようすればよいでしょうか?
よろしくおねがいします。
>VB6では単項目チェックにValidateイベントを使用しており。
>取消機能の時にはValidateイベントを発生させたくないため、
>取消ボタンのCausesValidationプロパティにFalseを設定し、
>取消対象コントロールのEnabledプロパティをFalseにして
>画面クリア処理を実行して、別コントロールにフォーカスを移動していました
>(移動先のCausesValidationプロパティはTrue)
>
>VB6ではこの処理でValidateイベントが発生しなくなったのですが、VB.NETではValidatingイベントが発生してしまうみたいなのです、
>(VB.NETではValidateイベントがなくなっているようなのでValidatingイベントで代用しました。)

申し訳ないのですが、質問の内容を正確に理解できません。

「取消ボタンのCausesValidationプロパティにFalseを設定し、取消対象コントロールのEnabledプロパティをFalseにして画面クリア処理を実行して、別コントロールにフォーカスを移動」

という処理はいつ行っているのでしょうか?取消ボタンがクリックされたときと解釈していいのでしょうか?また、Validatingイベントは取消対象コントロールで発生するのですね?

もしそうだとすると、EnabledをFalseとすると同時に、CausesValidationもFalseにすればどうでしょうか?あまりにもそのままなので、やはり私の解釈が違うような...。
>申し訳ないのですが、質問の内容を正確に理解できません。
>
>「取消ボタンのCausesValidationプロパティにFalseを設定し、取消対象コントロールのEnabledプロパティをFalseにして画面クリア処理を実行して、別コントロールにフォーカスを移動」
>
>という処理はいつ行っているのでしょうか?取消ボタンがクリックされたときと解釈していいのでしょうか?また、Validatingイベントは取消対象コントロールで発生するのですね?
>
>もしそうだとすると、EnabledをFalseとすると同時に、CausesValidationもFalseにすればどうでしょうか?あまりにもそのままなので、やはり私の解釈が違うような...。

ご返答ありがとうございます。

どぼんさんの解釈のとおりです。説明不足ですみませんでした。
取消処理にて取消対象コントロールのEnabledをFalseにして、CausesValidationもFalseにすると
Validatingイベントが発生しなくなりました。
EnabledをFalseにしなくてもイベントは発生しなくなるんですね。
どうもありがとうございました。

DOBON.NET | プログラミング道 | プログラミング掲示板