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

わんくま同盟

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

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

■102507 / 親階層)  タブコントロールのタブの文字色"だけ"を変えたい
□投稿者/ カルミーア (1回)-(2023/11/10(Fri) 12:16:11)

分類:[VB.NET/VB2005 以降] 

初めまして。宜しく御願い致します。

環境は Visual Studio Professional 2015
    Visual Basic 2015
です。

タブコントロールの特定タブの耳の文字だけを太字赤色にしたいと考えています。
背景色はもとのままです。
そこで、以下のコードを書きました。

初期設定(ロード時)
TabControl1.DrawMode = TabDrawMode.OwnerDrawFixed

イベントハンドラ
Private Sub TabControl1_DrawItem(ByVal sender As Object, _
ByVal e As DrawItemEventArgs) _
Handles TabControl1.DrawItem
'対象のTabControlを取得
Dim tab As TabControl = CType(sender, TabControl)
'タブページのテキストを取得
Dim txt As String = tab.TabPages(e.Index).Text

'タブのテキストのブラシとフォントを決定する
Dim foreBsh As Brush
Dim foreFnt As Font
'4番目のタブの耳の文字だけ太字赤色にする
If e.Index = 3 Then
foreBsh = Brushes.Red
foreFnt = New Font("Red", 10, FontStyle.Bold)
Else
foreBsh = Brushes.Black
foreFnt = New Font("Black", 10, FontStyle.Regular)
End If

'StringFormatを作成
Dim sfmt As New StringFormat
sfmt.Alignment = StringAlignment.Center
sfmt.LineAlignment = StringAlignment.Center

'タブ耳の文字の描画
e.Graphics.DrawString(TabControl1.TabPages(e.Index).Text, foreFnt , foreBsh , RectangleF.op_Implicit(e.Bounds), sfmt )
End Sub

このようなコードで確かに文字が太字赤色に変わったのですが、背景がフォームの色に隠れて全てのタブの耳が正常に描画されなくなりました。
タブの耳の背景色は元のまま(グレーのグラデーション)で、一切変えたくないのですが、設定していない(つもり)にもかかわらず勝手に変更されています。

どのようにしたら背景色はデフォルトのままになるのか、御存じの方は御教示お願い致します。

参考【https://dobon.net/vb/dotnet/control/tabownerdraw.html
  【https://teratail.com/questions/194322

編集キー/

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

タブコントロールのタブの文字色"だけ"を変えたい / カルミーア (23/11/10(Fri) 12:16) #102507 ←Now
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
                        └ Re[13]: タブコントロールのタブの文字色"だけ"を変.. / 魔界の仮面弁士 (23/11/24(Fri) 21:41) #102606
                          └ 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 解決済み

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