- ベストアンサー
【VB】タブ切り替え時のイベント
いつもお世話になります。バージョンはVB2005です。 フォームにTabControlを配置し、適当にタブ(TabPage1~3)を追加しています。 それぞれのタブを切り替えたときに発生するイベントがわかりません。(><) Clickイベント、CursorChangedイベント、Gotfocusなどなどいろいろ試してみましたが駄目でした。 おわかりの方、どうかご教授ください。
- sineminna
- お礼率73% (217/296)
- Visual Basic
- 回答数2
- ありがとう数6
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
お世話になります。 TabPage の Enter イベントも発生しますが、 TabPage を保持している TabContorol 側でも SelectedIndexChanged が発生します。 Shift+矢印キー 及び マウスによるクリック、どちらも同じです。 Private Sub TabControl1_SelectedIndexChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles TabControl1.SelectedIndexChanged Console.WriteLine(Me.TabControl1.SelectedTab.Text & " が選択されていますよ") End Sub
その他の回答 (1)
こんばんは。 VB.NETですが、TabControlのイベントではなく、TabPageのイベントになると思います。 TabPageにフォーカスが当たるということでEnterイベントでどうでしょうか。
お礼
できました! Enterですか。全く気がつきませんでした。 ありがとうございます。
関連するQ&A
- TabControlのタブをクリックしたときのイベントは?
TabControlのタブをクリックしたときにイベントを発生させたいのですが、TabControlのメンバに該当するようなイベントが見つかりませんでした。 Tabpageメンバも見てみましたが無かったように思います。 TabControlのタブをクリックしたときのイベントは無いということでしょうか。
- ベストアンサー
- Visual Basic
- VB.NET2003でのTABControlイベントについて
TabControlの処理について教えて下さい。 TabControlの外に貼り付けたTextBoxの内容が変更された場合、タブのページを変える前に問い合わせのメッセージを表示したいのですがうまくいきません。 具体的には、TabControlのSelectedIndexではページが変わった後にイベントが発生するので遅いのです。また、TabPageのValidatingでは、タブ上のコントロールにフォーカスが当たっていないとイベントすら発生しないし... アドバイスをよろしくお願いします。
- 締切済み
- Visual Basic
- デルファイ TabControl タブの追加
ターボデルファイです。 TabControlをフォームに置いたのですが、デフォルトはタブ1枚でみたいで、タブの追加はどうするのでしょか? ヘルプファイルには、個別のタブは「TabPage オブジェクト」とありますが、これがどこにあるかわかりません。 「TabControl の主要プロパティは TabPages 」ともありますが、これもどこにあるのか、見当たりません。
- ベストアンサー
- その他(プログラミング・開発)
- VB タブページの自動切り替え方法(マウスカーソル
質問よろしくお願いします。環境はVisualBasic 2008です。 タブコントロール内にいくつかのタブページがあるとして、タブの見出し部分(タブページではない)にマウスカーソルがあったらそのタブをアクティブにする(選択された状態にする)にはどのようにすればいいのでしょうか。 ようするに、マウスカーソルによってタブを自動的に切り替えたいのです。 MouseHoverイベントなどで試していますが、TabPage1もTabPage2もクリック情報をみるとTabControl1をクリックしたことになっていて、判定により特定のタブをアクティブにすることができません。 ぜひご教授願います。
- ベストアンサー
- Visual Basic
- VB2005でのTabControlについて
VB2005でTabControlを使用しているのですが、 タブ部分にフォーカスを移し、尚かつクリックした時のように四角い点線でフォーカスを移したタブを囲うにはどうしたらよいのでしょうか? 単にフォーカスを合わせるだけなら Me.TabPage1.Focus() と書くだけで良かったのですが、どうにも点線がつきません。 分かる方がいらっしゃいましたらご回答宜しくお願い致します。
- ベストアンサー
- Visual Basic
- タブがクリックされた時の初期動作について
tabControlのタブをクリックした際に動作するtabPage1_Click にコードを記述した場合、タブがクリックされた時にコードが 実行されるものと思っていましたが、実際には、タブではなく、 タブ内のエリアをクリックしないと動作しないようになっています。 タブがクリックされると動作を始めるようにするにはどのように すれば宜しいでしょうか。
- ベストアンサー
- C・C++・C#
- VB2005 のイベントについて
いつもお世話になっています。 OS:Windows 2000 言語:VB2005 Express Edition で作成しているのですが、イベントの質問があります。 TextBoxのフォーカスを取得した時に、 そのTextBoxに設定されている文字列を選択させようと思い TextBoxのEnterイベントでSelectAllをしているのですが、 この場合ですと、マウスでクリック選択した時には文字列が選択されません。 Private Sub txt_id_Enter(ByVal eventSender As System.Object, ByVal eventArgs As System.EventArgs) Handles txt_id.Enter txt_id.SelectAll() End Sub VB6.0 では Private Sub txt_id_GotFocus txt_id.SelStart = 0 txt_id.SelLength = Len(ob_Textbox.Text) End Sub 上記の通り、GotFocusイベントを使用しており、Tabキーでフォーカス取得していた時も マウスで選択している時も変わらず文字列は選択されていました。 VB2005のGotFocusイベントでは、一旦選択されるのですが すぐに選択は解除されてしまうのです。 他にVB6.0のGotFocusと同等のイベントや、対応策などありませんでしょうか? よろしくおねがいいたします。
- 締切済み
- Visual Basic
- VB.Net Tabコントロール中のすべてのタブで
お世話になります。 Visual Studio 2012 を Windows 7 64Bit にて使用しております。 Tabコントロールの全てのタブのタグ(Tag) に値を設定しており、変数と各タブページに格納してあるTag の値が一致したら、そのタブページのインデックスを取得できればと思っておりますが、 For Each Next 文にてそれをどう実現すればいいか困っております。 以下の文は プロパティ的にはめちゃくちゃですが、ニュアンスとして、こんな感じで実現できればと思っております。 指定タブコントロールの全てのタブの中でTagの値が 123 のタブがあったら、そのタブインデックスを取得する Dim Flg As Integer = 0 For Each TabPage In Me.TabControl1.TabPages If TabPage.Tag = 123 Then Flg = TabPage.Index() Exit For End If Next 何卒よろしくお願いいたします。
- ベストアンサー
- Visual Basic
- VB.Net フォームのKeyPressイベント
お世話になります。 日夜 VB.Net でAccess ADPファイルで作ったシステムのリメイクをしております、駆け出しの者でございます。 フォームのイベントでKeyPressイベントがありますが、 Me.ActiveControl.BackColor = Color.LavenderBlush この記述で、フォーム上に配置されているテキストボックなどの背景色を変えられるのですが、マウスで、各コントロールをクリックしても背景色が変わりません。 フォームのClick関係、Mouse関係のイベントで同じ記述をしても、フォームに配置してあるコントロールには適応されないようで、どうしたものかと思っております。(どこか見逃しているのか?!) マウスでテキストボックスなどのコントロールをクリックした時にそのコントロールの背景色を変えるには、例えば100個のテキストボックスがあった場合には、100個のClickイベントに背景色を変えるコードを記述する必要があるのでしょうか?(それは大変だと思うのですが・・・) もし、フォームのマウス、クリックのイベントで ActiveControl の背景色が変更できるイベントや、その他、やり方があるようでしたら、何卒ご紹介いただけますようよろしくお願いいたします。
- ベストアンサー
- Visual Basic
- VBのイベント処理について
お世話になります。 VB6.0のイベント処理について教えてください。 VB.NETでは、イベント処理のメソッド(VBだとプロシージャですか) のシグニチャのおしりに Handles Button1.Click という記述がされているので、このメソッドはButton1のクリックという イベントが発生したときに行われる処理だなと見当がつくのですが、 VB6.0ではその記述をしないのが一般的とみました。 してそのときに、このメソッドがButton1のクリック時のイベントだと いうのは、どのように判断されるのですか?メソッド名が Button1_Click みたいに勝手につけられるので、それで判断されるのですか?という ことはメソッド名を変えたらそのメソッドはButton1のクリック時の イベント処理メソッドではなくなってしまうのですか? よろしくご教授ください。
- ベストアンサー
- Visual Basic
お礼
できました! ありがとうございます。 TabControl側で制御した方がよさそうですね。