Ustawienie koloru belki nagłówkowej w TabPage

0

Piszę hobbystycznie programy z języku VB.NET, korzystam z wersji środowiska VB 2010 w Windows Home.
Nie mogę znaleźć sposobu, by w kontrolce TabControl, a w niej w zakładce TabPage, ustawić kolor tła. Nie chodzi o główny obszar TabPage ale belkę tytułową. Kiedyś to robiłem za radą kolegi z innego forum, ale tamto forum przestało działać, a w moich zasobach nie mogę tego kodu znaleźć. Na stronach Microsoftu dotyczących VB.NET też nie mogę tego znaleźć. Przeszukałem strony Microsoft Ignite, to jest to co kiedyś strony MSDN. Nigdzie jednak nie mogę trafić na stosowną informację, czy przykład kodu. Liczę na podpowiedź któregoś z uczestników tego forum.

0

W sumie twój link pisze o tym co trzeba, ale dotyczy to elementów typu Windows Controls. Jednak użyte tam nazewnictwo jest mi raczej obce.
Ja poruszam się w przestrzeni nazw Windows.Forms w VB.NET. Jednak z pomocą innej przeglądarki znalazłem mój stary kod na forum, o którym pisałem wyżej.
Po dostosowaniu kod VB.NET wygląda tak:

 Private Sub TabControl1_DrawItem(sender As Object, e As System.Windows.Forms.DrawItemEventArgs) Handles TabControl1.DrawItem
        Try
            Dim Tekst As String = Nothing, Fo As System.Drawing.Font = New Font("Microsoft Sans Serif", 9, FontStyle.Bold)
            Dim Miejsce As System.Drawing.Point, Kolor0 As Color = Color.SteelBlue, Kolor1 As Color = Color.DarkGreen
            Select Case e.Index
                Case 0
                    e.Graphics.FillRectangle(New SolidBrush(Kolor0), e.Bounds)
                    Tekst = "  Źródło z mikrofonu"
                    Miejsce = New Point(8, 1)
                    e.Graphics.DrawString(Tekst, Fo, Brushes.White, Miejsce)
                Case 1
                    e.Graphics.FillRectangle(New SolidBrush(Kolor1), e.Bounds)
                    Tekst = "Źródło z Internetu  "
                    Miejsce = New Point(178, 1)
                    e.Graphics.DrawString(Tekst, Fo, Brushes.White, Miejsce)
            End Select
        Catch ex As Exception
            MessageBox.Show(ex.Message & vbNewLine & ex.StackTrace)
        End Try
    End Sub

Procedura TabControl1_DrawItem jest procedurą zdarzenia kontrolki TabControl. W niej po prostu trzeba narysować funkcjami graficznymi treść belki tytułowej każdego TabPage jak i kolor tła jego belki.

PS.
Sorry za sposób wklejenia kodu ale jestem tu nowy i nie wyczaiłem jeszcze, jak prawidłowo wstawić fragment kodu.
Co do twojej uwagi, że środowisko, w którym piszę, jest leciwe, to stron Microsoft jego dokumentacji jest mnóstwo, tylko trzeba wiedzieć gdzie szukać.
I chociaż nie jest już aktywnie wspierane przez Microsoft, to używa go mnóstwo ludzi, którzy programować zaczynali około roku 2000, tak jak ja.
Dla mnie było to przejście z VB6.0 na VB.NET a o języku C# wtedy było jeszcze cicho.

1 użytkowników online, w tym zalogowanych: 0, gości: 1