###前提・実現したいこと
.netにおいて、指定したタブの色を変えるコードを書きたいと思っていますが、どのように指定すればいいのかが分かりません。
他サイトを参考に、アクティブなタブの色を変えることには成功したのですが、最初から指定したタブの色を変える方法が分かりません。
タブページはNameもTextも1,2,3というタブで構成されています。
###該当のソースコード
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 foreBrush, backBrush As Brush If (e.State And DrawItemState.Selected) = DrawItemState.Selected Then '選択されているタブのテキストを赤、背景を青とする foreBrush = Brushes.Black backBrush = Brushes.Orange Else '選択されていないタブのテキストは灰色、背景を白とする foreBrush = Brushes.Gray backBrush = Brushes.White End If 'StringFormatを作成 Dim sf As New StringFormat '中央に表示する sf.Alignment = StringAlignment.Center sf.LineAlignment = StringAlignment.Center '背景の描画 e.Graphics.FillRectangle(backBrush, e.Bounds) 'Textの描画 e.Graphics.DrawString(txt, e.Font, foreBrush, RectangleF.op_Implicit(e.Bounds), sf) End Sub
###試したこと
e.state = 1
の様にすれば指定できるかもと思い試してみましたがだめでした。
ご教授よろしくお願い致します。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2017/02/09 05:10