• ベストアンサー

タブがクリックされた時の初期動作について

tabControlのタブをクリックした際に動作するtabPage1_Click にコードを記述した場合、タブがクリックされた時にコードが 実行されるものと思っていましたが、実際には、タブではなく、 タブ内のエリアをクリックしないと動作しないようになっています。 タブがクリックされると動作を始めるようにするにはどのように すれば宜しいでしょうか。

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

  • ベストアンサー
回答No.1

 こんにちは。  イベントプロパティの  Selected(押された時)  SelectIndexChanged(押された後)  で受け取るのではないでしょうか。 private: System::Void tabSelected(System::Object^ sender, System::Windows::Forms::TabControlEventArgs^ e) { System::Windows::Forms::MessageBox::Show("tabSelected"); } private: System::Void tabSelectedIndexChanged(System::Object^ sender, System::EventArgs^ e) { System::Windows::Forms::MessageBox::Show("tabSelectedIndexChanged"); }

noname#204417
質問者

お礼

 動作させたい内容はSelectedだと思います。 間違っているかもしれませんが、Selectedの場合、どのタブが クリックされたのかを判別しなければならないと新たな疑問が でてきました。  

全文を見る
すると、全ての回答が全文表示されます。

その他の回答 (1)

回答No.2

 こんばんは。御礼頂きました。  System::Windows::Forms::TabControlEventArgs^ e  の  e->TabPageIndex  で判断出来ます(0ベース)。 private: System::Void tabSelected(System::Object^ sender, System::Windows::Forms::TabControlEventArgs^ e) { System::Windows::Forms::MessageBox::Show("tabSelected [click page :" + e->TabPageIndex + "]"); }

noname#204417
質問者

お礼

大変参考になりました。ありがとうございます。

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • TabControlのタブをクリックしたときのイベントは?

    TabControlのタブをクリックしたときにイベントを発生させたいのですが、TabControlのメンバに該当するようなイベントが見つかりませんでした。 Tabpageメンバも見てみましたが無かったように思います。 TabControlのタブをクリックしたときのイベントは無いということでしょうか。

  • 【VB】タブ切り替え時のイベント

    いつもお世話になります。バージョンはVB2005です。 フォームにTabControlを配置し、適当にタブ(TabPage1~3)を追加しています。 それぞれのタブを切り替えたときに発生するイベントがわかりません。(><) Clickイベント、CursorChangedイベント、Gotfocusなどなどいろいろ試してみましたが駄目でした。 おわかりの方、どうかご教授ください。

  • デルファイ TabControl タブの追加

    ターボデルファイです。 TabControlをフォームに置いたのですが、デフォルトはタブ1枚でみたいで、タブの追加はどうするのでしょか? ヘルプファイルには、個別のタブは「TabPage オブジェクト」とありますが、これがどこにあるかわかりません。 「TabControl の主要プロパティは TabPages 」ともありますが、これもどこにあるのか、見当たりません。

  • タブが選択されたらメソッドが起動する仕組みC#

    var title = item3.TabName; var tabPage = new TabPage(title); tabPage.BackColor = Color.White; tabPage.Click += (a, b) => {     関数(); }; tabControl1.TabPages.Add(tabPage);//タブ作成 この書き方では、関数は起動しませんでした。 どこにまちがいがあるでしょうか?

  • TabPageの表示順を変えるには

    VB2005でTabControlを使っています。TabControlに複数のTabPageがあり、実行時にその順番を入れ替えたいと思っていますが、そのようなことは可能でしょうか?どなたかご教授願えないでしょうか?よろしくお願い致します。

  • VB2005でのTabControlについて

    VB2005でTabControlを使用しているのですが、 タブ部分にフォーカスを移し、尚かつクリックした時のように四角い点線でフォーカスを移したタブを囲うにはどうしたらよいのでしょうか? 単にフォーカスを合わせるだけなら Me.TabPage1.Focus() と書くだけで良かったのですが、どうにも点線がつきません。 分かる方がいらっしゃいましたらご回答宜しくお願い致します。

  • VB タブページの自動切り替え方法(マウスカーソル

    質問よろしくお願いします。環境はVisualBasic 2008です。 タブコントロール内にいくつかのタブページがあるとして、タブの見出し部分(タブページではない)にマウスカーソルがあったらそのタブをアクティブにする(選択された状態にする)にはどのようにすればいいのでしょうか。 ようするに、マウスカーソルによってタブを自動的に切り替えたいのです。 MouseHoverイベントなどで試していますが、TabPage1もTabPage2もクリック情報をみるとTabControl1をクリックしたことになっていて、判定により特定のタブをアクティブにすることができません。 ぜひご教授願います。

  • 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 何卒よろしくお願いいたします。

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

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

  • タブをクリックすると閉じてしまいます

     VISTAを使っています。  無線のマウスを使っていたのですが、壊れてしまった為有線のマウス(BUFFALO)に変えました。 すると、クリックした時の動作がいろいろ変わってしまいました。  まず、デスクトップのアイコンをダブルクリックしても開かなくなりました。  そして一番苦労しているのは、インターネットしている時です。 どう説明したらよいのかわからないのですが・・・ 新しいタブを数個開いていて、 今見ているページとは別のページを見ようとそのページのタブをクリックすると、そのページが勝手に閉じてしまいます。 また、ネット上でリンクしてあるものをクリックすると、 今まではそのページを開いていたのですが、今はタブには新しいページとして追加されるのですが、ページまでは開かず そのページを見るためにタブをクリックすると閉じてしまうので、結局そのページを見ることができません。  とても苦労しています。  マウスのせいなのか、何かの設定のせいなのか全くわからなく、戸惑うばかりです。  うまく説明できずにすみませんが、とても困っています。 どうかよろしくお願いします。