VB.NET2003でのTABControlイベントについて(Visual BasicのQ&A)

回答受付中の質問

VB.NET2003でのTABControlイベントについて

TabControlの処理について教えて下さい。
TabControlの外に貼り付けたTextBoxの内容が変更された場合、タブのページを変える前に問い合わせのメッセージを表示したいのですがうまくいきません。
具体的には、TabControlのSelectedIndexではページが変わった後にイベントが発生するので遅いのです。また、TabPageのValidatingでは、タブ上のコントロールにフォーカスが当たっていないとイベントすら発生しないし...
アドバイスをよろしくお願いします。

投稿日時 - 2006-10-25 18:34:32

QNo.2496887

すぐに回答ほしいです

0人が「このQ&Aが役に立った」と投票しています

[  前へ  |  次へ ]

回答(1件中 1~1件目)

ANo.1

やはり SelectIndeChangeedイベント辺りしかないように思います
MouseDownもClickも SelectedIndexChangedの後でしか呼ばれないですよね
Formの Newプロシージャの中でIntializeComponentを呼び出した後に
現在のSelectedIndexを保存しておき
SelectedIndexChangedイベントに来た際にチェックするようにしてはいかがでしょう

Sub SelectedChangeed(引数省略) handlers TabControl1.SelectedChangeed
Static bFlag as Boolean = False
' 再帰で呼ばれたときの対策
if bFlag then Exit Sub
if myIndex<>0 then
if myTextBox.Text<>"123" then
' 再帰対策
bFlag = True
TabControl1.SelectedIndex = 0
bFlag = False
end if
end if
End Sub
といった具合でしょう

投稿日時 - 2006-10-25 23:21:51

お礼

ご回答ありがとうございます。
やはりTABのページは変わってしまうのですね。
でもTABページ以外のコントロールの変化を見つけるのだからSelectedIndexChangedしかないのでしょうね。
とても参考になりました。有難う御座いました。

投稿日時 - 2006-10-26 14:23:59

この質問に関連するQ&A
  • TabControlが変る瞬間イベント
  • 初心者です。vb2005で、Tabcontrol1を所持しています。 このコントロールにタブページは4つ持っています。 タブページのタブ釦をクリックしたときと、タブページにフォーカスがある状態で、...
  • タブコントロールのフォーカス枠を消したい
  • VB.NET(VB2008)について質問です。 タブ式テキストエディタを作っているのですが、タブが選択されると そのタブのTextBoxにフォーカスを当てたいので TabControlのMouseDo...
  • TabControlについて
  • はじめまして、 さっそく質問させていただけます。 TabControlのMultiLineプロパティをFalseにした場合、 タブページが多くて、一行に収められない場合、 右に矢印ボタンが出ます。 私...
合わせてチェックしたい
PR

OKWaveのオススメ