[リストへもどる]   [VBレスキュー(花ちゃん)]
一括表示

投稿時間:2005/10/18(Tue) 09:51
投稿者名:つぼちゃん
Eメール:
URL :
タイトル:
TabStripのクリックイベントの発行
TabStripのクリックイベントをコードで発行させるにはどのように書いたらよいでしょうか。
たとえばTabStripの3番目をクリックイベントを発行したいのです。

・TabStrip1.SelectedItem.Index = 3
・TabStrip1.Index = 3

ともにエラーとなりました。

投稿時間:2005/10/18(Tue) 13:24
投稿者名:いな
Eメール:
URL :
タイトル:
Re: TabStripのクリックイベントの発行
> ともにエラーとなりました。

Indexって、0からじゃなかったっけ?
3番目は2のように思いますが・・・。

あと、
「エラーとなりました。」
「・・・。」
「・・・?」
「で?」
「・・・?」
というやり取りをしたいわけじゃなければ
エラー番号、エラーメッセージの内容ぐらいは、最低限記載すべきです。

投稿時間:2005/10/18(Tue) 13:43
投稿者名:つぼちゃん
Eメール:
URL :
タイトル:
Re^2: TabStripのクリックイベントの発行
いなさん、返信ありがとうございます。

> > ともにエラーとなりました。
>
> Indexって、0からじゃなかったっけ?
> 3番目は2のように思いますが・・・。

TabStripは1からのようです。

> というやり取りをしたいわけじゃなければ
> エラー番号、エラーメッセージの内容ぐらいは、最低限記載すべきです。

すみません、そのとおりですね。

> ・TabStrip1.SelectedItem.Index = 3
実行時エラー'383':
値の取得のみが可能なプロパティです。

> ・TabStrip1.Index = 3
コンパイルエラー:
引数の数が一致していません。または不正なプロパティを指定しています。

投稿時間:2005/10/18(Tue) 14:14
投稿者名:いな
Eメール:
URL :http://,
タイトル:
Re: TabStripのクリックイベントの発行
さて、意地悪な回答にあきらめずレスを付けてくれたので
じゃ本題にうつりましょ、

TabStripコントロールは、クリック処理(= TabStrip1_Click)の中で切り分けます。<私は!
そうすると、
TabStrip.SelectedItem.Indexの値がクリックされたタブによって、
(値を参考すると分かるのですが、)変化します。

私の場合、
タブごとに表示する内容をFrameコントロールに各コントロールを固めてしまいます。
あとは、

Select Case TabStrip1.SelectedItem.Index
    Case 1
        Frame1.ZOrder
        Frame1.Visible = True
        Frame2.Visible = False
        Frame3.Visible = False
    Case 2
        Frame2.ZOrder
        Frame1.Visible = False
        Frame2.Visible = True
        Frame3.Visible = False
    Case 3
        Frame3.ZOrder
        Frame1.Visible = False
        Frame2.Visible = False
        Frame3.Visible = True
End Select

とやることで、切り替えたように見せます。
イメージ伝わるかなぁ〜

投稿時間:2005/10/18(Tue) 14:33
投稿者名:つぼちゃん
Eメール:
URL :
タイトル:
Re^2: TabStripのクリックイベントの発行
いなさん、こちらの説明不足で貴重な時間を余分に裂かせてしまって申し訳ありません。
背景を説明させていただきますと、現在、いなさんの例のようにクリックイベントは処理しています。
(多少違いますが)

で、Frame1、Frame2、Frame3の各項目にそれぞれ設定をさせ、それら設定を保存時に
総合的にチェックし、エラーがあるとそのフレームのエラー項目にセットフォーカスしたいのですが、
たとえばFrame1が表示されている状態でFrame3の項目にエラーがあったときに、
Frame3を表に出したいのでTabStripの3番目のタブをクリックしたときのイベントを
呼び出したいというのが質問の背景です。

投稿時間:2005/10/18(Tue) 15:22
投稿者名:いな
Eメール:
URL :http://,
タイトル:
Re^3: TabStripのクリックイベントの発行
あ、ゴメン、やはり、通じ切れなかったか言葉が足らなかった

Sub TabStripSelectedI(SelectedIndex as integer)

    Select Case SelectedIndex
        Case 1
            Frame1.ZOrder
            Frame1.Visible = True
            Frame2.Visible = False
            Frame3.Visible = False
        Case 2
            Frame2.ZOrder
            Frame1.Visible = False
            Frame2.Visible = True
            Frame3.Visible = False
        Case 3
            Frame3.ZOrder
            Frame1.Visible = False
            Frame2.Visible = False
            Frame3.Visible = True
    End Select

End Sub

とやってましたぁ〜。ということで。

投稿時間:2005/10/18(Tue) 15:38
投稿者名:つぼちゃん
Eメール:
URL :
タイトル:
Re^4: TabStripのクリックイベントの発行
いなさん、すみませんもう少しお付き合いください。
これも考えましたが、このままですとTabStripの3番目が選択された状態でFrame1が表示されてしまうの
ではないでしょうか。


> あ、ゴメン、やはり、通じ切れなかったか言葉が足らなかった
>
> Sub TabStripSelectedI(SelectedIndex as integer)
>
>     Select Case SelectedIndex
>         Case 1
>             Frame1.ZOrder
>             Frame1.Visible = True
>             Frame2.Visible = False
>             Frame3.Visible = False
>         Case 2
>             Frame2.ZOrder
>             Frame1.Visible = False
>             Frame2.Visible = True
>             Frame3.Visible = False
>         Case 3
>             Frame3.ZOrder
>             Frame1.Visible = False
>             Frame2.Visible = False
>             Frame3.Visible = True
>     End Select
>
> End Sub

投稿時間:2005/10/18(Tue) 15:28
投稿者名:matsu
Eメール:
URL :
タイトル:
Re: TabStripのクリックイベントの発行
> ・TabStrip1.SelectedItem.Index = 3
> ・TabStrip1.Index = 3
>
> ともにエラーとなりました。

TabStrip1.Tabs(3).Selected=True

こんな感じでいけませんか?

投稿時間:2005/10/18(Tue) 15:43
投稿者名:つぼちゃん
Eメール:
URL :
タイトル:
[解決]TabStripのクリックイベントの発行
> > ・TabStrip1.SelectedItem.Index = 3
> > ・TabStrip1.Index = 3
> >
> > ともにエラーとなりました。
>
> TabStrip1.Tabs(3).Selected=True
>
> こんな感じでいけませんか?

いけます!!
matsuさん、ありがとうございました。
いなさんもいろいろとありがとうございました。