回答受付中の質問
TabControlの処理について教えて下さい。
TabControlの外に貼り付けたTextBoxの内容が変更された場合、タブのページを変える前に問い合わせのメッセージを表示したいのですがうまくいきません。
具体的には、TabControlのSelectedIndexではページが変わった後にイベントが発生するので遅いのです。また、TabPageのValidatingでは、タブ上のコントロールにフォーカスが当たっていないとイベントすら発生しないし...
アドバイスをよろしくお願いします。
投稿日時 - 2006-10-25 18:34:32
0人が「このQ&Aが役に立った」と投票しています
やはり 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
OKWaveのオススメ
おすすめリンク