TabControlのタブを切り替えるには?


アライ丼  2003-03-24 16:28:19  No: 77427  IP: [192.*.*.*]

初めまして
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の全て試してみましたが
上手くいきませんでした

どうか宜しくお願いします

編集 削除
たかみちえ  URL  2003-03-24 16:39:35  No: 77428  IP: [192.*.*.*]

VB.NETは使ったことない&VBを最近使ってない ので、不確かなことしかいえませんけど、
上の4つのケースでは、同じタブを選択しているような気がしますけど?

  わたしがタブを次のページに変えるとき、よくやる方法は、
・今のタブインデックスを取得(変数iとする)
・iに1を足す
・iがタブの範囲(タブの個数)を越したらループ(iからタブの個数を引くとか)
・タブのインデックスを、iにする

編集 削除
Loreley  2003-03-24 21:08:48  No: 77429  IP: [192.*.*.*]

>たかみちえさん
おそらく、※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文の中にはいっているのかをチェックしてみると
いいかもしれませんね。

編集 削除
Y2  2003-03-24 21:42:31  No: 77430  IP: [192.*.*.*]

※1〜4はTabPageクラスのメソッドを使ってますけど、TabPageを管理しているTabControlクラスのメンバを使ってみてはいかがでしょうか?

今、ヘルプでTabControlのメンバ一覧を見たのですが、
SelectedIndexプロパティ(ページのインデックスを収得または設定)
もしくは
SelectedTabプロパティ
は使えないでしょうか?

編集 削除
アライ丼  2003-03-26 16:48:18  No: 77431  IP: [192.*.*.*]

たかみちえさん、Loreleyさん、Y2さん
どうもありがとうございます
そしてお礼を申し上げるのが遅くなってスイマセン

Y2さんのおっしゃる通りSelectedTabプロパティを使って
やってみましたところ
簡単に出来てしまいました〜

今後ともみなさんよろしくお願い致します

編集 削除