Eigene Progressbar Fehler [VB 2012]

  • Allgemein

Es gibt 14 Antworten in diesem Thema. Der letzte Beitrag () ist von ErfinderDesRades.

    Eigene Progressbar Fehler [VB 2012]

    Jaa hallo Leute ich habe gerade mithilfe von einem YouTube Video eine Progressbar versucht nur er gibt mir 2 Fehler bei den Farben aus...Warum?

    Das Rot makierte sind die Fehler


    Hier der ganze Code

    VB.NET-Quellcode

    1. Imports System.Drawing.Drawing2D
    2. Public Class Pbar
    3. Public Sub New()
    4. ' Dieser Aufruf ist für den Designer erforderlich.
    5. InitializeComponent()
    6. Label1.ForeColor = Color.Black
    7. Me.ForeColor = Color.DodgerBlue
    8. ' Fügen Sie Initialisierungen nach dem InitializeComponent()-Aufruf hinzu.
    9. End Sub
    10. Protected percent As Double = 0.0
    11. Public Property Value As Double
    12. Get
    13. Return percent
    14. End Get
    15. Set(value As Double)
    16. If value < 0 Then value = 0 Else If value > 100 Then value = 100
    17. percent = value
    18. Label1.Text = value.ToString() + "%"
    19. Me.Invalidate()
    20. End Set
    21. End Property
    22. Protected Overrides Sub OnPaint(ByVal e As System.Windows.Forms.PaintEventArgs)
    23. MyBase.OnPaint(e)
    24. Dim b As Brush = New SolidBrush(Me.ForeColor)
    25. Dim lb As New LinearGradientBrush(New Rectangle(0, 0, Me.Width, Me.Height), Color.DodgerBlue(255, Color.DodgerBlue),
    26. Color.DodgerBlue(50, Color.DodgerBlue), LinearGradientMode.ForwardDiagonal)
    27. Dim width As Integer = CInt(percent / 100 * Me.Width)
    28. e.Graphics.FillRectangle(b, 0, 0, width, Me.Height)
    29. e.Graphics.FillRectangle(lb, 0, 0, width, Me.Height)
    30. b.Dispose() : lb.Dispose()
    31. End Sub
    32. Private Sub Pbar_SizeChanged(sender As Object, e As EventArgs) Handles MyBase.SizeChanged
    33. Label1.Location = New Point(Me.Width / 2 - Label1.Width / 2, Me.Height / 2 - Label1.Height)
    34. End SubEnd Class




    Fehler ist in Zeile 35 + 36 mit dem Color.DodgerBlue

    Dieser Beitrag wurde bereits 6 mal editiert, zuletzt von „SelfOwn3D“ ()

    Du hast da geschrieben:

    VB.NET-Quellcode

    1. Color.DodgerBlue(255, Color.DodgerBlue)

    Color.DodgerBlue ist aber eine Eigenschaft, nähmlich die, die diese Farbe angibt.
    Du hast Color.DodgerBlue aber als Methode verwendet.
    Ich rate jetzt mal, was du wolltest:
    255 bzw 50 in der nächsten Zeile sind die Transparenzwerte?
    Dann muss das so aussehen:

    VB.NET-Quellcode

    1. Color.FromArgb(255, Color.DodgerBlue)

    bzw.

    VB.NET-Quellcode

    1. Color.FromArgb(50, Color.DodgerBlue)


    Falls 255 bzw. 50 keine Transparenzwerte sind, was dann?

    Ich hoffe, ich konnte dir helfen!
    MfG
    Hermann
    @Hermann
    Nein. Sorry hatte ich übersehen :)
    Es heißt natürlich Color.FromArgb(), wobei als Alpha-Wert werte von 0 - 255 gültig sind.

    Trotzdem glaube ich, dass er vergessen hat, System.Drawing zu importieren.



    Ich hab deinen Code mal angepasst:

    VB.NET-Quellcode

    1. Option Strict On
    2. Option Explicit On
    3. Option Compare Binary
    4. Imports System.Drawing
    5. Imports System.Drawing.Drawing2D
    6. Public Class Pbar
    7. Protected Overrides Sub OnPaint(ByVal e As System.Windows.Forms.PaintEventArgs)
    8. MyBase.OnPaint(e)
    9. Dim b As New SolidBrush(Me.ForeColor)
    10. Dim lb As New LinearGradientBrush(e.ClipRectangle, Color.FromARGB(255, Color.DodgerBlue), _
    11. Color.FromARGB(50, Color.DodgerBlue), LinearGradientMode.ForwardDiagonal)
    12. Dim width As Integer = CInt(percent / 100 * Me.Width)
    13. e.Graphics.FillRectangle(b, e.ClipRectangle)
    14. e.Graphics.FillRectangle(lb, e.ClipRectangle)
    15. b.Dispose() : lb.Dispose()
    16. End Sub
    17. End Class


    Ich habe folgendes verbessert:
    - Options hintugefügt
    - Imports angepasst
    - New Rectangle(0, 0, Me.Width, Me.Height) durch e.ClientRectangle ersetzt
    - Color.DodgerBlue(Das_ist_Mist) durch Color.FromArgb() ersetzt

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „MarcoQuinten“ ()

    SelfOwn3D schrieb:

    ich habe gerade mithilfe von einem YouTube Video eine Progressbar versucht nur er gibt mir 2 Fehler bei den Farben aus...Warum?

    Der Fehler ist, einem utube-Tutorial ühaupt auf den Leim zu gehen (uTube-"Tutorials“ sind fast immer Mist).

    Wenn du proggen lernen willst, lerns richtig: dieses Buch Lesen