Hintergrundfarbe eines Tabellenreiters ändern

28/12/2008 - 13:16 von Christoph Michalski | Report spam
Hallo,
ich möchte die Hintergrundfarbe des gerade aktiven Reiters eines TabControls
rot darstellen, damit der User es besser ejhen kann.Da unter Eigenschaften
eines Tabellenreiters keine entsprechende Option zu finden ist, habe ich
vesucht den Reiter selbst zu zeichnen:
...
Private Sub TabControl1_DrawItem(ByVal sender As Object, ByVal e As
System.Windows.Forms.DrawItemEventArgs) Handles TabControl1.DrawItem

If Me.TabControl1.SelectedIndex = 0 Then
e.Graphics.FillRectangle(Brushes.Red, e.Bounds)
Else
e.DrawBackground()
End If
End Sub

Leider wird hier die Farbe aller Reiter geàndert. Wie kann ich die
Hintergrundfarbe eines einzigen Reiters àndern?
Gruß
Chris
 

Lesen sie die antworten

#1 Karsten Sosna
28/12/2008 - 15:18 | Warnen spam
ich möchte die Hintergrundfarbe des gerade aktiven Reiters eines
TabControls
rot darstellen, damit der User es besser ejhen kann.



Hallo Christoph,
Finger weg von der UI. Wer es nicht vermag den aktuellen Reiter zu erkennen,
wird so einen "eingefàrberten" Reiter auch nicht schneller erkennen. a) ist
Rot eine Warnfarbe und b) bedenke dass es Leute gibt die unterliegen einer
bestimmten Sehschwàche. So gibt es wirklich Menschen, die sind Rot-Grün
blind. Für die könntest Du alle Reiter grün einfàrben nur den Aktiven machst
Du rot, sie würden den Unterschied kaum wahrnehmen.
Damit der User seine Oberflàche anpassen kann gibt es die
Systemeinstellungen, in denen Du u.a. auch die Farbeinstellungen wàhlen
kannst. Alle Windows-Steuerelemente benutzen diese Farben. Wenn Du jetzt
also dabei gehst und dort Deine eigenen Farben dazwischen kleckst, kann es
durchaus sein, dass Du genau das Gegenteil erreichst.
Gruß Scotty

Ähnliche fragen