For Each文を使用して、全てのタブを順番に取得し、Tagの値が指定した値と一致するかどうかを判定します。一致した場合は、そのタブのインデックスを取得します。
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
何卒よろしくお願いいたします。
Dim Flg As Integer = -1 '0だと見つかった場合と見つからない場合の区別ができないので、-1にしました
For Each tb As TabPage In Me.TabControl1.TabPages
If tb.Tag = 123 Then
Flg = Me.TabControl1.IndexOf(tb)
Exit For
End If
Next
お礼
Picosoft さん 大変お世話になります。 ご提示いただきました プログラムで該当タブ位置を取得することができました。 大変助かりましたありがとうございました。