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

わんくま同盟

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

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

■102606 / 13階層)  タブコントロールのタブの文字色"だけ"を変えたい
□投稿者/ 魔界の仮面弁士 (3719回)-(2023/11/24(Fri) 21:41:41)
No102604 (KOZ さん) に返信
> Tab プロパティ使わないバージョンを作ってみました。

おぉ。素晴らしい!

しかし当方環境で試してみたら TabPage を追加したときの動作が何故かおかしいようで。


OnPaint を追ってみると、タブ 3 枚の時点では
 TabPages(0) => 1 枚目のタブを返す
 TabPages(1) => 2 枚目のタブを返す
 TabPages(2) => 3 枚目のタブを返す
が返されていたのに、4 枚目を .TabPages.Add すると、何故か
 TabPages(0) => 4 枚目のタブを返す
 TabPages(1) => 1 枚目のタブを返す
 TabPages(2) => 2 枚目のタブを返す
 TabPages(3) => 3 枚目のタブを返す
という状態になってしまいました。


たとえば、アクティブなタブを【〜】で表すとして。

最初に 3 つのタブがあって、真ん中が選択されている状態にしておいて、
 [ TabPage1 ]【TabPage2】[ TabPage3 ]
この状態で
  TabControl1.TabPages.Add("長い文字列のタブ")
  CustomTabControl1.TabPages.Add("長い文字列のタブ")
を行うと、標準の TabControl は期待通りに
 [ TabPage1 ]【TabPage2】[ TabPage3 ][長い文字列のタブ]
になるのに対し、なぜか CustomTabControl の方は
 [い文字列のタ]【TabPage1】[ TabPage2 ][ TabPage4 ]
になってしまいました。原因は未調査。



>  If i = SelectedIndex Then
>   tabColor = Color.Red
>   tabFont = New Font(Font.FontFamily, Font.Size, FontStyle.Bold)

元質問だと、「選択されたタブの文字色を太字赤色にする」ではなく
「特定タブの耳の文字だけを太字赤色にしたい」なんですよね。


複数(0個以上)のタブを同時に太字赤色にしたいのであれば、
TabControl 側に「太字赤色にしたいタブの番号配列」を持たせておいて、
 <DesignerSerializationVisibility(DesignerSerializationVisibility.Content)>
 Public ReadOnly Property ColoredTabs As New List(Of Integer)()
赤色判定の部分を
 'If i = SelectedIndex Then
 If ColoredTabs.Contains(i) Then
するとよいかも。
編集キー/

前の記事(元になった記事) 次の記事(この記事の返信)
←Re[12]: タブコントロールのタブの文字色"だけ"を変.. /KOZ →Re[14]: タブコントロールのタブの文字色"だけ"を変.. /KOZ
 
上記関連ツリー

タブコントロールのタブの文字色"だけ"を変えたい / カルミーア (23/11/10(Fri) 12:16) #102507
Re[1]: タブコントロールのタブの文字色"だけ"を変.. / KOZ (23/11/10(Fri) 12:39) #102508
  └ Re[2]: タブコントロールのタブの文字色"だけ"を変.. / KOZ (23/11/10(Fri) 13:40) #102510
    └ Re[3]: タブコントロールのタブの文字色"だけ"を変.. / カルミーア (23/11/10(Fri) 16:16) #102514
      └ Re[4]: タブコントロールのタブの文字色"だけ"を変.. / KOZ (23/11/10(Fri) 17:52) #102517
        └ Re[5]: タブコントロールのタブの文字色"だけ"を変.. / カルミーア (23/11/11(Sat) 11:41) #102519
          └ Re[6]: タブコントロールのタブの文字色"だけ"を変.. / KOZ (23/11/11(Sat) 12:17) #102520
            └ Re[7]: タブコントロールのタブの文字色"だけ"を変.. / カルミーア (23/11/15(Wed) 00:18) #102538
              ├ Re[8]: タブコントロールのタブの文字色"だけ"を変.. / 魔界の仮面弁士 (23/11/15(Wed) 00:42) #102539
              │└ Re[9]: タブコントロールのタブの文字色"だけ"を変.. / カルミーア (23/11/16(Thu) 01:52) #102547
              └ Re[8]: タブコントロールのタブの文字色"だけ"を変.. / KOZ (23/11/15(Wed) 09:54) #102540
                ├ Re[9]: タブコントロールのタブの文字色"だけ"を変.. / カルミーア (23/11/16(Thu) 02:01) #102548
                └ Re[9]: タブコントロールのタブの文字色"だけ"を変.. / カルミーア (23/11/19(Sun) 01:13) #102568
                  └ Re[10]: タブコントロールのタブの文字色"だけ"を変.. / 魔界の仮面弁士 (23/11/19(Sun) 02:58) #102573
                    ├ Re[11]: タブコントロールのタブの文字色"だけ"を変.. / カルミーア (23/11/20(Mon) 01:20) #102580
                    └ Re[11]: タブコントロールのタブの文字色"だけ"を変.. / カルミーア (23/11/24(Fri) 01:36) #102597
                      ├ Re[12]: タブコントロールのタブの文字色"だけ"を変.. / 魔界の仮面弁士 (23/11/24(Fri) 15:17) #102603
                      └ Re[12]: タブコントロールのタブの文字色"だけ"を変.. / KOZ (23/11/24(Fri) 18:26) #102604
                        └ タブコントロールのタブの文字色"だけ"を変えたい / 魔界の仮面弁士 (23/11/24(Fri) 21:41) #102606 ←Now
                          └ Re[14]: タブコントロールのタブの文字色"だけ"を変.. / KOZ (23/11/24(Fri) 23:38) #102607
                            ├ Re[15]: タブコントロールのタブの文字色"だけ"を変.. / KOZ (23/11/25(Sat) 01:16) #102609
                            └ Re[15]: タブコントロールのタブの文字色"だけ"を変.. / カルミーア (23/11/25(Sat) 21:48) #102613
                              └ Re[16]: タブコントロールのタブの文字色"だけ"を変.. / 魔界の仮面弁士 (23/11/26(Sun) 11:39) #102619
                                └ Re[17]: タブコントロールのタブの文字色"だけ"を変.. / カルミーア (23/11/27(Mon) 22:16) #102624 解決済み

上記ツリーを一括表示 / 上記ツリーをトピック表示
 
上記の記事へ返信