- PR -

項目チェックのキャンセル

1
投稿者投稿内容
ボア
ベテラン
会議室デビュー日: 2002/05/22
投稿数: 78
投稿日時: 2003-10-30 17:01
お世話になります。
VB.NET でいろいろ試しているのですが、ご教示ください。

TextBox の値チェックを行なうため、validating イベントを
ハンドリングして処理しているのですが、別途画面の端に
「終了」ボタンがありまして、これが押された際にはカレント
TextBox の値チェックを行ないたくないのです。
ところが、マウスでクリックするとカレント TextBox の
validating イベントが走ってしまうため、ちゃんとした値が
入っていないと画面を終了できません。

いい対処方法はないでしょうか?
dai
ベテラン
会議室デビュー日: 2001/08/28
投稿数: 85
投稿日時: 2003-10-30 19:32
CausesValidation プロパティを調べてみてください。
ボア
ベテラン
会議室デビュー日: 2002/05/22
投稿数: 78
投稿日時: 2003-10-31 10:48
回答ありがとうございます。

CausesValidation は、指定コンポーネントが原因となる
他のコンポーネントの Validating イベントが発生しない
ようにするという解釈でよいのでしょうか?

ためしに、上記「終了」ボタンの CausesValidation を
false に設定してみたのですが、やっぱり TextBox の
validating イベントが走ってしまいます。

何か勘違いしているのでしょうか?
dai
ベテラン
会議室デビュー日: 2001/08/28
投稿数: 85
投稿日時: 2003-10-31 11:08
ご質問の状態を回避するためのプロパティがCausesValidationです。
再現する最小限のコードを乗せると返答が得られるかもしれません。
ボア
ベテラン
会議室デビュー日: 2002/05/22
投稿数: 78
投稿日時: 2003-10-31 11:24
同じ Panel に、Button と TextBox を add したらうまく行きました。
が、画面の構成上、Button と TextBox が別々の Panel に add されて
いる画面で、Button の CausesValidation を false にしても、TextBox
の validating が走ってしまうようです。

この場合、なにか解決策はありますか?

# Button じゃなくても、[x]ボタンでも validating が走らないように
# したいです。。。
uch
会議室デビュー日: 2003/11/14
投稿数: 1
投稿日時: 2003-11-14 16:15
Panelにコントロールを貼り付けている場合、まずPanelにフォーカスが移りその後、Panelに配置したコントロールにフォーカスが移ります。
よって、PanelのCausesValidationも設定しないと validatingが発生します。
1

スキルアップ/キャリアアップ(JOB@IT)