TabControl formatieren!

  • VB.NET
  • .NET (FX) 1.0–2.0

Es gibt 1 Antwort in diesem Thema. Der letzte Beitrag () ist von RodFromGermany.

    @Cheffboss Das geht mit Ownerdrawing. Mach Dir eine eigene TabControlKlasse und los gehts:
    Spoiler anzeigen

    VB.NET-Quellcode

    1. Public Class TabControlEx
    2. Inherits TabControl
    3. Public Sub New()
    4. Me.DrawMode = TabDrawMode.OwnerDrawFixed
    5. End Sub
    6. Private _Font As Font = New Font("Arial", 10, FontStyle.Bold)
    7. Private _Brush As New SolidBrush(Color.AliceBlue)
    8. ''' <summary>zeichnet die Reiter im Stil der zugehörigen Tabpage</summary>
    9. Protected Overrides Sub OnDrawItem(ByVal e As System.Windows.Forms.DrawItemEventArgs)
    10. MyBase.OnDrawItem(e)
    11. Const tff As TextFormatFlags = TextFormatFlags.HorizontalCenter Or _
    12. TextFormatFlags.VerticalCenter
    13. Dim tp As TabPage = MyBase.TabPages(e.Index)
    14. Dim rct As Rectangle = e.Bounds
    15. Dim g As Graphics = e.Graphics
    16. Me._Brush.Color = tp.BackColor
    17. g.FillRectangle(Me._Brush, rct)
    18. TextRenderer.DrawText(g, tp.Text, Me._Font, rct, Color.Red, tff)
    19. End Sub
    20. End Class
    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    Programmierfragen über PN / Konversation werden ignoriert!