• ベストアンサー

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

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