vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
Brandneu! sevEingabe v3.0 - Das Eingabecontrol der Superlative!  
 vb@rchiv Quick-Search: Suche startenErweiterte Suche starten   Impressum  | Datenschutz  | vb@rchiv CD Vol.6  | Shop Copyright ©2000-2025
 
zurück

 Sie sind aktuell nicht angemeldet.Funktionen: Einloggen  |  Neu registrieren  |  Suchen

VB.NET - Ein- und Umsteiger
Lösung 
Autor: poncho
Datum: 26.10.07 14:08

Eine 100%ig zufriedenstellende Lösung habe ich nicht gefunden aber ich kann erstmal mit folgendem leben.

Das ist mein Code:
Private ReadOnly brushtextshadow As New SolidBrush(Color.White)
Private ReadOnly brushtext As New SolidBrush(SystemColors.ControlText)
 
Protected Overrides Sub OnPaint(ByVal e As System.Windows.Forms.PaintEventArgs)
    MyBase.OnPaint(e)
 
    Dim offset As Integer = 0
    If ProgressBarRenderer.IsSupported Then
        ProgressBarRenderer.DrawHorizontalBar(e.Graphics, Me.ClientRectangle)
        ProgressBarRenderer.DrawHorizontalChunks(e.Graphics, New Rectangle(1, _
          1, (Width - 2) * (Value / 100), Height - 2))
    Else
        e.Graphics.Clear(SystemColors.ControlLightLight)
        Dim rect As New Rectangle(1, 1, (Me.Value / 100) * (Me.Width - 2), _
          Me.Height - 4)
        e.Graphics.FillRectangle(New SolidBrush(SystemColors.Highlight), rect)
        offset = 1
    End If
 
    Dim ef As SizeF = e.Graphics.MeasureString(Me.Value & "%", Me.Font)
    Dim num As Integer = Math.Round((Me.Width / 2) - (ef.Width / 2))
    Dim num2 As Integer = Math.Round((Me.Height / 2) - (ef.Height / 2))
    e.Graphics.DrawString(Me.Value & "%", Me.Font, brushtextshadow, num, num2 - _
      1 - offset)
    e.Graphics.DrawString(Me.Value & "%", Me.Font, brushtextshadow, num, num2 + _
    1 - offset)
    e.Graphics.DrawString(Me.Value & "%", Me.Font, brushtextshadow, num - 1, _
    num2 - offset)
    e.Graphics.DrawString(Me.Value & "%", Me.Font, brushtextshadow, num + 1, _
    num2 - offset)
    e.Graphics.DrawString(Me.Value & "%", Me.Font, brushtext, num, num2 - _
    offset)
 
End Sub
Und das Ergebnis sieht dann so aus:

XP ohne Style:


XP mit Style:


Vista mit Style:


Der Aero-Effekt fehlt leider.
alle Nachrichten anzeigenGesamtübersicht  |  Zum Thema  |  Suchen

 ThemaViews  AutorDatum
ProgressBar mit Prozent-Anzeige4.766poncho23.10.07 15:43
Re: ProgressBar mit Prozent-Anzeige3.632Melkor23.10.07 15:47
Re: ProgressBar mit Prozent-Anzeige2.934poncho23.10.07 18:12
Lösung3.067poncho26.10.07 14:08

Sie sind nicht angemeldet!
Um auf diesen Beitrag zu antworten oder neue Beiträge schreiben zu können, müssen Sie sich zunächst anmelden.

Einloggen  |  Neu registrieren

Funktionen:  Zum Thema  |  GesamtübersichtSuchen 

nach obenzurück
 
   

Copyright ©2000-2025 vb@rchiv Dieter Otter
Alle Rechte vorbehalten.
Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein.

Diese Seiten wurden optimiert für eine Bildschirmauflösung von mind. 1280x1024 Pixel