1 ضمیمه
تغییر رنگ پس زمینه TabControl
سلام.
برای تغییر رنگ زمینه TabControl از این کد می شه استفاده کرد برای تغییر رنگ کامل هر TabPage هم در دیزاینر خصوصیت BackColor :
در ضمن DrawMode از TabControl هم تغییر داده بشه.
Dim PutBackColor As Boolean = False
Private Sub TabControl1_DrawItem(sender As System.Object, e As System.Windows.Forms.DrawItemEventArgs) Handles TabControl1.DrawItem
If Me.PutBackColor = False Then
e.Graphics.FillRectangle(New SolidBrush(<YourColor>), 0, 0, Me.Width, Me.Height)
Me.PutBackColor = True
End If
e.Graphics.FillRectangle(New SolidBrush(<YourColor>), e.Bounds.X - 2, e.Bounds.Y - 2, e.Bounds.Width + 2, e.Bounds.Height + 2)
e.Graphics.DrawString(Me.TabControl1.TabPages(e.In dex).Text, e.Font, New SolidBrush(<YourForeColor>), e.Bounds.X + 5, e.Bounds.Y + 5)
If e.State = DrawItemState.Selected Then
Me.PutBackColor = False
End If
End Sub
ضمیمه 154364
برای انتخاب رنگ های خوشرنگ و جذاب به این سایت برید: Dark Color Palettes - Color Hunt
نقل قول: تغییر رنگ پس زمینه TabControl
سلام به همه
دستور قبلی یک مشکل داشت که درستش کردم.
نقل قول: تغییر رنگ پس زمینه TabControl
سلام آیا به این شکل هم میشه اجرا کرد ؟
Private TabBackColor As Color = <YourColor>
Private TabForeColor As Color = <YourForeColor>
Private Sub TabControl1_DrawItem(sender As System.Object, e As System.Windows.Forms.DrawItemEventArgs) Handles TabControl1.DrawItem
If e.Index = Me.TabControl1.SelectedIndex Then
e.Graphics.FillRectangle(New SolidBrush(TabForeColor), e.Bounds.X - 2, e.Bounds.Y - 2, e.Bounds.Width + 2, e.Bounds.Height + 2)
Else
e.Graphics.FillRectangle(New SolidBrush(TabBackColor), e.Bounds.X - 2, e.Bounds.Y - 2, e.Bounds.Width + 2, e.Bounds.Height + 2)
End If
e.Graphics.DrawString(Me.TabControl1.TabPages(e.In dex).Text, e.Font, Brushes.Black, e.Bounds.X + 5, e.Bounds.Y + 5)
End Sub
نقل قول: تغییر رنگ پس زمینه TabControl
نقل قول:
نوشته شده توسط
پرستو پارسایی
سلام آیا به این شکل هم میشه اجرا کرد ؟
Private TabBackColor As Color = <YourColor>
Private TabForeColor As Color = <YourForeColor>
Private Sub TabControl1_DrawItem(sender As System.Object, e As System.Windows.Forms.DrawItemEventArgs) Handles TabControl1.DrawItem
If e.Index = Me.TabControl1.SelectedIndex Then
e.Graphics.FillRectangle(New SolidBrush(TabForeColor), e.Bounds.X - 2, e.Bounds.Y - 2, e.Bounds.Width + 2, e.Bounds.Height + 2)
Else
e.Graphics.FillRectangle(New SolidBrush(TabBackColor), e.Bounds.X - 2, e.Bounds.Y - 2, e.Bounds.Width + 2, e.Bounds.Height + 2)
End If
e.Graphics.DrawString(Me.TabControl1.TabPages(e.In dex).Text, e.Font, Brushes.Black, e.Bounds.X + 5, e.Bounds.Y + 5)
End Sub
سلام
اگر منظورتون متغیر PutBackColor هست که برای عملکرد صحیح متود DrawString بکار گرفته شده است.