C# と VB.NET の質問掲示板

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト

タブコントロールで指定したタブを開く

[トピック内 4 記事 (1 - 4 表示)]  << 0 >>

■91325 / inTopicNo.1)  タブコントロールで指定したタブを開く
  
□投稿者/ wawa (1回)-(2019/06/16(Sun) 22:35:43)

分類:[.NET 全般] 

タブコントロールがあり、

太郎
二郎
三郎

というタブページが設定されてあるとします。

この時、三郎のページを開きたい場合、

TabControl1.SelectedIndex = 2

で開くことができます。

ところが、
太郎の後に一郎を追加したとします。
すると

太郎
一郎
二郎
三郎

というタブページになるため、
三郎のページを開くためには

TabControl1.SelectedIndex = 3

にしなければなりません。

タブページを追加するたびに、
他の場所の編集をするのが面倒なので、
直接、タブページのテキストを指定して開きたいのですが
どのようにすれば良いでしょうか?

引用返信 編集キー/
■91326 / inTopicNo.2)  Re[1]: タブコントロールで指定したタブを開く
□投稿者/ Azulean (1065回)-(2019/06/16(Sun) 23:22:08)
No91325 (wawa さん) に返信
> タブページを追加するたびに、
> 他の場所の編集をするのが面倒なので、
> 直接、タブページのテキストを指定して開きたいのですが
> どのようにすれば良いでしょうか?

こういったケースでは SelectedTab プロパティを使います。
https://docs.microsoft.com/ja-jp/dotnet/api/system.windows.forms.tabcontrol.selectedtab?view=netframework-4.8

たとえば、三郎という TabPage に「SaburoTabPage」といった名前をつけておけば、TabControl1.SelectedTab = SaburoTabPage とすることができます。
タブページに表示されている名前を元に処理を書こうとすると、「タブページの集まりから、”三郎”という名前を持つタブページを探して、SelectedTab プロパティに設定する」といった流れになるので、コードが少し増えますね。
引用返信 編集キー/
■91327 / inTopicNo.3)  Re[1]: タブコントロールで指定したタブを開く
□投稿者/ 魔界の仮面弁士 (2206回)-(2019/06/16(Sun) 23:53:52)
No91325 (wawa さん) に返信
> 他の場所の編集をするのが面倒なので、
> 直接、タブページのテキストを指定して開きたいのですが
> どのようにすれば良いでしょうか?

Public Class Form1
  Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
    Me.TabControl1.SelectedIndex = 1
  End Sub

  Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click
    Me.TabControl1.SelectedTab = Me.TabPage2
  End Sub

  Private Sub Button3_Click(sender As Object, e As EventArgs) Handles Button3.Click
    Me.TabControl1.SelectedTab = Me.TabControl1.TabPages(2)
  End Sub

  Private Sub Button4_Click(sender As Object, e As EventArgs) Handles Button4.Click
    Me.TabControl1.SelectedTab = Me.TabControl1.TabPages("TabPage4")
  End Sub
End Class
引用返信 編集キー/
■91340 / inTopicNo.4)  Re[2]: タブコントロールで指定したタブを開く
□投稿者/ wawa (2回)-(2019/06/17(Mon) 12:07:15)
まさにこれでした
ありがとうございます。

解決済み
引用返信 編集キー/

このトピックをツリーで一括表示


トピック内ページ移動 / << 0 >>

このトピックに書きこむ