- ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:TabControlが変る瞬間イベント)
TabControlのイベント処理でタブページの変更前に発生するイベントを制御する方法について
このQ&Aのポイント
- vb2005でTabControlを使用している際に、タブページの変更前に発生するイベントを制御する方法を知りたいです。
- 現在使用しているTabControl1_Selected_clickやTabControl1_SelectedIndexChangedのイベントは、タブページが移動した後にコールされてしまいます。
- タブページが変わる前の瞬間にイベント処理をしたい場合、どのように制御すれば良いでしょうか?
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
WndProcでTCM_SETCURSEL, WM_KEYDOWN, WM_NCHITTESTを捕獲 http://dobon.net/vb/bbs/log3-15/8361.html
その他の回答 (1)
- temtecomai2
- ベストアンサー率61% (656/1071)
回答No.2
TabControl 内にある各 TabPage コントロールの Validating イベントを使って、TAB ページ内のコントロールの値を評価するとか。 Private Sub TabPage1_Validating(ByVal sender As System.Object, ByVal e As System.ComponentModel.CancelEventArgs) Handles TabPage1.Validating If Not IsNumeric(TextBox1.Text) Then e.Cancel = True End If End Sub んでもイベントが呼び出されるきっかけが 「現在の TAB ページから他に移る時」 なので、「他の TAB ページに移る時」 とは違ってしまいます。 つまり他の TAB ページに移るんではなく、フォーム内の別の(例えば TabControl 外のテキストボックスなど)に移ろうとしても Varidating イベントは動いてしまうので、TextBox1 の値が適切じゃなければ TabControl 外のコントロールにも移動できなくなってしまいます。