• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:TabControlが変る瞬間イベント)

TabControlのイベント処理でタブページの変更前に発生するイベントを制御する方法について

このQ&Aのポイント
  • vb2005でTabControlを使用している際に、タブページの変更前に発生するイベントを制御する方法を知りたいです。
  • 現在使用しているTabControl1_Selected_clickやTabControl1_SelectedIndexChangedのイベントは、タブページが移動した後にコールされてしまいます。
  • タブページが変わる前の瞬間にイベント処理をしたい場合、どのように制御すれば良いでしょうか?

質問者が選んだベストアンサー

  • ベストアンサー
  • todo36
  • ベストアンサー率58% (728/1234)
回答No.1

WndProcでTCM_SETCURSEL, WM_KEYDOWN, WM_NCHITTESTを捕獲 http://dobon.net/vb/bbs/log3-15/8361.html

その他の回答 (1)

回答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 外のコントロールにも移動できなくなってしまいます。

関連するQ&A

専門家に質問してみよう