初めまして
vb.netで開発しております
FORM上にタブコントロールを貼り付けて
タブコントロール内には複数のタブページがありまして
変数Aの値によりタブを切り替えるには
どのようにしたら切り替わるでしょうか?
(タブをクリックした時のようにクリックしたページが最前面になる)
Select Case A
Case 1
'<<<<< 1ページ目を表示 >>>>>
※1 Me.TabPage1.Select()
※2 Me.TabPage1.Show()
※3 Me.TabControl.TabPages(1).Select()
※4 Me.TabControl.TabPages(1).Show()
Case 2
'<<<<< 2ページ目を表示 >>>>>
Case 3
'<<<<< 2ページ目を表示 >>>>>
End Select
※1〜※4の全て試してみましたが
上手くいきませんでした
どうか宜しくお願いします
VB.NETは使ったことない&VBを最近使ってない ので、不確かなことしかいえませんけど、
上の4つのケースでは、同じタブを選択しているような気がしますけど?
わたしがタブを次のページに変えるとき、よくやる方法は、
・今のタブインデックスを取得(変数iとする)
・iに1を足す
・iがタブの範囲(タブの個数)を越したらループ(iからタブの個数を引くとか)
・タブのインデックスを、iにする
>たかみちえさん
おそらく、※1〜※4のどれかのパターンを選択しているんだと思いますよ、
※1なら実際は
Select Case A
Case 1
'<<<<< 1ページ目を表示 >>>>>
※1 Me.TabPage1.Select()
Case 2
'<<<<< 2ページ目を表示 >>>>>
※1 Me.TabPage2.Select()
Case 3
'<<<<< 3ページ目を表示 >>>>>
※1 Me.TabPage3.Select()
End Select
という具合に。
さて、どれをためしてもだめだということですが、
すべてのcaseに仮のMsgboxやDebug.printを追加してやって
ほんとにそのcase文の中にはいっているのかをチェックしてみると
いいかもしれませんね。
※1〜4はTabPageクラスのメソッドを使ってますけど、TabPageを管理しているTabControlクラスのメンバを使ってみてはいかがでしょうか?
今、ヘルプでTabControlのメンバ一覧を見たのですが、
SelectedIndexプロパティ(ページのインデックスを収得または設定)
もしくは
SelectedTabプロパティ
は使えないでしょうか?
たかみちえさん、Loreleyさん、Y2さん
どうもありがとうございます
そしてお礼を申し上げるのが遅くなってスイマセン
Y2さんのおっしゃる通りSelectedTabプロパティを使って
やってみましたところ
簡単に出来てしまいました〜
今後ともみなさんよろしくお願い致します