Rechercher dans ce blog

vendredi 31 décembre 2021

Progressbar Pacman Animé

 Voici comment realiser un progressbar Pacman animé.


Vous pouvez changer de couleur du pacman et aussi drawborder et les cercles.

mon code :

 Public Class ProgressbarPacMan : Inherits ProgressBar

    Private _ColorFill As Color = Color.Black
    Public Property ColorFill As Color
        Get
            Return _ColorFill
        End Get
        Set(value As Color)
            If value = Color.Transparent OrElse value = _ColorCercle OrElse value = _ColorPacman Then
                Return
            Else
                _ColorFill = value
                Me.Invalidate()
            End If
        End Set
    End Property

    Private _ColorCercle As Color = Color.White
    Public Property ColorCercle As Color
        Get
            Return _ColorCercle
        End Get
        Set(value As Color)
            If value = Color.Transparent OrElse value = Color.Black Then
                Return
            Else
                _ColorCercle = value
                Me.Invalidate()
            End If
        End Set
    End Property

    Private _ColorPacman As Color = Color.Yellow
    Public Property ColorPacman As Color
        Get
            Return _ColorPacman
        End Get
        Set(value As Color)
            If value = Color.Transparent OrElse value = Color.Black Then
                Return
            Else
                _ColorPacman = value
                Me.Invalidate()
            End If
        End Set
    End Property
    Private _ColorDraw As Color = Color.Blue
    Public Property ColorDraw As Color
        Get
            Return _ColorDraw
        End Get
        Set(value As Color)
            If value = Color.Transparent Then
                Return
            Else
                _ColorDraw = value
                Me.Invalidate()
            End If
        End Set
    End Property

    Private rect As New Rectangle
    Private timer As New Timer With {.Enabled = True, .Interval = 125}
    Private counter As Integer = 0
    Private moving As Boolean = False

    Public Sub New()
        Me.SetStyle(ControlStyles.OptimizedDoubleBuffer Or ControlStyles.UserPaint, True)
        Me.Size = New Size(300, 30)
        Me.counter = 0
        AddHandler timer.Tick, New EventHandler(AddressOf timer_Tick)
    End Sub

    Protected Overrides Sub OnPaint(e As System.Windows.Forms.PaintEventArgs)
        MyBase.OnPaint(e)
        rect = New Rectangle(0, 0, Me.Width, Me.Height)
        e.Graphics.SmoothingMode = Drawing2D.SmoothingMode.AntiAlias
        e.Graphics.SmoothingMode = Drawing2D.SmoothingMode.HighQuality
        DrawRectangle(e.Graphics, _ColorDraw, rect.X + 1, rect.Y + 1, rect.Width - 3, rect.Height - 3, 6)
        FillRectangle(e.Graphics, _ColorFill, rect.X + 2, rect.Y + 2, rect.Width - 5, rect.Height - 5, 6)
        Dim progressbarWidth As Integer = CInt(((rect.Width - 35) / (Maximum - Minimum)) * Value)
        GETCirleColor(e.Graphics, _ColorFill, _ColorCercle, rect, progressbarWidth)
        PacMan(e.Graphics, counter, rect, progressbarWidth, _ColorPacman)
    End Sub

    Private Sub DrawRectangle(ByVal g As Graphics, ByVal _Colors As Color, ByVal x As Int32, ByVal y As Int32, ByVal width As Int32, ByVal height As Int32, ByVal radius As Int32)
        Dim area As Rectangle = New Rectangle(x, y, width, height)
        Dim path As Drawing2D.GraphicsPath = New Drawing2D.GraphicsPath
        path.AddArc(area.Left, area.Top, radius * 2, radius * 2, 180, 90)
        path.AddArc(area.Right - (radius * 2), area.Top, radius * 2, radius * 2, 270, 90)
        path.AddArc(area.Right - (radius * 2), area.Bottom - (radius * 2), radius * 2, radius * 2, 0, 90)
        path.AddArc(area.Left, area.Bottom - (radius * 2), radius * 2, radius * 2, 90, 90)
        path.CloseAllFigures()
        g.DrawPath(New Pen(_Colors, 3), path)
    End Sub

    Private Sub FillRectangle(g As Graphics, _colors As Color, x As Integer, y As Integer, Width As Integer, Height As Integer, Radius As Integer)
        Dim area As Rectangle = New Rectangle(x, y, Width, Height)
        Dim path As Drawing2D.GraphicsPath = New Drawing2D.GraphicsPath
        path.AddArc(area.Left, area.Top, Radius * 2, Radius * 2, 180, 90)
        path.AddArc(area.Right - (Radius * 2), area.Top, Radius * 2, Radius * 2, 270, 90)
        path.AddArc(area.Right - (Radius * 2), area.Bottom - (Radius * 2), Radius * 2, Radius * 2, 0, 90)
        path.AddArc(area.Left, area.Bottom - (Radius * 2), Radius * 2, Radius * 2, 90, 90)
        path.CloseAllFigures()
        g.FillPath(New SolidBrush(_colors), path)
    End Sub

    Private Sub timer_Tick(sender As System.Object, e As System.EventArgs)
        If Value = Minimum Then
            counter = 0
        ElseIf Value > Minimum Then
            timer.Start()
            counter += 1
            If counter > 3 Then
                counter = 0
            End If
        ElseIf Value = Maximum Then
            counter = 0
            timer.Stop()
        End If
    End Sub

    Private Sub PacMan(g As Graphics, count As Integer, rect As Rectangle, valeur As Integer, colors As Color)
        Select Case count
            Case 0
                g.FillPie(New SolidBrush(colors), CInt(rect.X + 1) + valeur, rect.Y + 1, 30, rect.Height - 4, 45, 270)
                g.FillEllipse(Brushes.Black, CInt(rect.X + 12) + valeur, CInt(rect.Y + 3), 7, 7)
            Case 1
                g.FillPie(New SolidBrush(colors), CInt(rect.X + 1) + valeur, rect.Y + 1, 30, rect.Height - 4, 30, 300)
                g.FillEllipse(Brushes.Black, CInt(rect.X + 12) + valeur, CInt(rect.Y + 3), 7, 7)
            Case 2
                g.FillPie(New SolidBrush(colors), CInt(rect.X + 1) + valeur, rect.Y + 1, 30, rect.Height - 4, 20, 330)
                g.FillEllipse(Brushes.Black, CInt(rect.X + 12) + valeur, CInt(rect.Y + 3), 7, 7)
            Case 3
                g.FillPie(New SolidBrush(colors), CInt(rect.X + 1) + valeur, rect.Y + 1, 30, rect.Height - 4, 0, 360)
                g.FillEllipse(Brushes.Black, CInt(rect.X + 12) + valeur, CInt(rect.Y + 3), 7, 7)
        End Select
    End Sub

    Protected Overrides Sub OnMouseDown(ByVal e As System.Windows.Forms.MouseEventArgs)
        MyBase.OnMouseDown(e)
        If rect.Contains(e.Location) OrElse e.Button = Windows.Forms.MouseButtons.Left Then
            moving = True
        End If
    End Sub
    Protected Overrides Sub OnMouseup(ByVal e As System.Windows.Forms.MouseEventArgs)
        MyBase.OnMouseUp(e)
        moving = False
    End Sub
    Protected Overrides Sub OnMouseMove(ByVal e As System.Windows.Forms.MouseEventArgs)
        If moving AndAlso e.X > -1 AndAlso e.X < CInt(rect.Width + 2) Then
            Value = CInt((Maximum - Minimum) * (e.X / rect.Width))
        End If
        MyBase.OnMouseMove(e)
    End Sub

    Protected Overrides Sub OnMouseEnter(e As System.EventArgs)
        MyBase.OnMouseEnter(e)
        If Cursor.Equals(Cursors.Arrow) Then
            Me.Cursor = Cursors.Hand
        End If
    End Sub

    Protected Overrides Sub OnMouseLeave(e As System.EventArgs)
        MyBase.OnMouseLeave(e)
        If Cursor.Equals(Cursors.Hand) Then
            Me.Cursor = Cursors.Arrow
        End If
    End Sub

    Private Sub GETCirleColor(g As Graphics, colors1 As Color, colors2 As Color, rect As Rectangle, Valeur As Integer)
        For i = 0 To 22 Step 2
            g.FillEllipse(New SolidBrush(colors2), CInt(rect.X + 30) + i * 10, CInt(rect.Y + 10), 10, 10)
        Next
        If Valeur = 0 Then Return
        FillRectangle(g, colors1, CInt(rect.X + 26), CInt(rect.Y + 4), Valeur, CInt(rect.Height - 8), 6)
    End Sub

    Protected Overrides Sub OnResize(ByVal e As EventArgs)
        MyBase.OnResize(e)
        If Me.Height <> 30 Then
            Me.Height = 30
        ElseIf Me.Width <> 300 Then
            Me.Width = 300
        End If
    End Sub
End Class

jeudi 30 décembre 2021

Progressbar Sonic Animé

 Voici comment realiser un progressbar Sonic animé.


vous pouvez changer les couleurs des murs et aussi drawborder.

Ma classes :

 Imports System.Drawing.Drawing2D
Imports System.IO

Public Class ProgressbarSonic : Inherits ProgressBar

    Private _BarColorSolidA As Color = Color.FromArgb(111, 37, 0)
    Public Property BarColorSolidA As Color
        Get
            Return _BarColorSolidA
        End Get
        Set(value As Color)
            If value = Color.Transparent Then
                Return
            Else
                _BarColorSolidA = value
                Me.Invalidate()
            End If
        End Set
    End Property

    Private _BarColorSolidB As Color = Color.FromArgb(255, 128, 0)
    Public Property BarColorSolidB As Color
        Get
            Return _BarColorSolidB
        End Get
        Set(value As Color)
            If value = Color.Transparent Then
                Return
            Else
                _BarColorSolidB = value
                Me.Invalidate()
            End If
        End Set
    End Property

    Private _ColorDraw As Color = Color.White
    Public Property ColorDraw As Color
        Get
            Return _ColorDraw
        End Get
        Set(value As Color)
            If value = Color.Transparent Then
                Return
            Else
                _ColorDraw = value
                Me.Invalidate()
            End If
        End Set
    End Property


    Private _Sonic As String = "R0lGODlhFgAUAPcAAAAAAP////8AAfQAAeUAA7kAApcAAY0AA38AAjwAAe9fYawACKMABlcAA00AA/QCCvQwOPYAEaUAC0gABJkCC/8GFNAAEcUAErQADQwAAdgBE5kAEeQAH70DHPAFImcOHaoSMRIICno4RzAADcYjVDUuMIIIMHYcOC4EEjsAGrpZim4ZSn1LaVADMxUBEDYXL1IkVTgESwsDDmU6pRYBSzgnZmdRrAwAOFRKfJSOqisbdjopixMMXh8adwABkQAAiwAAhQAAfgAAegAAdAAAbAAAYAUGfQAEfQAHqQAIhhkegQANmwAKlgAJi05WsExRmgAWzaustgAVqQEUmAERigAashIsowAkvwEgpgEdm2RsjwAltgAosgAlrTZY1AA99wA55QAwyQArrQA21gAuuAArpxA9uBExkAA2v09stgA7xhRLwSpRqgBP5wFI1QBX9gBGywBj/wBY4gZTzgBk9hBq9BNq6Bdcxpe46gBk7QFs/QFb1CJ67QB0/wBq8QVz9gdx7wp4+VGY71KJzBB57Bhv0gwxWhM1WjR+zQB+/wmF/gp/+A6D9g4tTTeW9gCD+AE7cQ6O/xKH9h2J6gSN/w9qtiaT7gaF6Byc+iuc8i2g9DCR3jd4qyKg+Cem/jKc6ACb/yOi8Saq/DCn9Wa68BCo/2jD9Ty5+iS7/0y78A1MZyBaclTJ+MzR01fE7U2YskCJnY3R5Rs+R1KesZjd7c7v9yBqezB8jLXQ1hA8RHXr/2+3xUt5gpDAyQwsMWObo0Vma67w+sjd4FyVnNT1+TJLTXSrrsnp6+T5+gQZGR5GRm/Pz8X///P//3iRjZqnpaLizq323cb/62RsY///+bOpkf/EYpF1Wfexb/e+h/2NLH9IG+7NsvONQ/9uEs1LCBkPCstjMsKHb1chDLBqUMVULRcRD5IsD6suD+pYNapwa/8OAB0CAIk5Nf6DfK8RDcwAAKsBAHcAAG4AAGUAAE8AAEoAAEMAADQAACsAACMAABQAAAgAAAQAAAEAAP///yH/C05FVFNDQVBFMi4wAwEAAAAh+QQJBQD/ACwAAAAAFgAUAAAI/wD/CRxIsKDBgwO55Mnjp08iSYQQGlRCRMgSNmwknbK0yA1CWsaiDayiw5sIRLpYTZpysJgsY9IEJhqTo9cmTK5YRTzoq5EdOn7U9CmlyxQeR6c06fnXSxixXgJX/ftxpcyUP6NCxQoQZY8nTsZ4ARMWYFctbgJ5+BjiJtIjVwGeGeKk7N8tX7Ka7TJG7ps2ck6CNGkjiBYzXM6A5RqImF0jSC9qnPAGI0mNbNxaUeMWguCyf2fcgAnzZQyPbT18iMOWDVu5gQkKDAQiRmCLL8+8xcjSDh06gvvgCSxSe6CVPq//uWhAsF8+AyT+HWlCcA4Y2AsIAphAj8DwI12wqEIhg0TiP3zzDmgQiEZIEyDmBQK4ZwDegOjxC6JngIFABAUq/BNgfv80UI8DFPgWTzzwELAegf/4w08/AGSQgQMHBQQAIfkECQUA/wAsAAAAABYAFAAACP8A/wkcSHAgIEUFEyaUk+dPpD2MJCmcWORIlzEwcIjShLCJwmC7oA0kUwRbOja6WE2iorBYrmEi/9Ehk6PXp1CuWDGaCEDVoj55yOgppYsUHkenNOn5h+sYsl6wBEoBE2ZLlT6YQsWiFmWPJ068gKnqFaAXMW4iWsS4YWKGIlCpAjyDxCnZv1nJijX7devaN23qWLQoQMKGqWC4phWzJdDcs2H6QlT694SFOBg34q1zJyxAtn0DS/DKV+OSIj1vyqyphOXGOwUKsIUbuM9egn+l/mWhsoTGOT5pPiCAgODcQH8JDtD7R2jIkIHxcMT5Fy/CBYL+HMgTmIXIFIJr3vxdK+CBwz2C7Lb/u0RkSRM4lBKNEViAw4XbAwHIE0BwyZIqUggUDwYWHJBQPgUIlFtuA8FjwAULTJAQAPoQQJA6BhgQDwMHFKDeRATpw04++CTATj0gKuQPPwAAMFFAACH5BAkFAP8ALAAAAAAWABQAAAj/AP8JHEiwoMGDA7nkyeOnTyJJhBAaVEJEyBI2bCSdsrTIDUJaxqINrKLDmwhEulhNmnKwmCxj0gQmGpOj1yZMrlhFPOjrUB06ftT0waTLFB5HpzTp+ddLGLFeAlcVIbJFzJQ/o0LFChBljydOxnjxOhZgVy1u4+zR8DHETaRHrgI8M8RJ2T9YvmQ1M+ZM3bdu5J4UadJGEC1muJwByyUwwzNj5gxdKoRoUCw2RGpk49aKGrcQA0s4QzFQD50xSl7JMUIOWzZs5QgmQDAQDZYpPoKI62UFSzt06AraGyhlCBaBQHRoASRxHnGCSYq4SSQx3nOBXYj8oyRxoPV/cfKIP1kiBxRBD84L5qsnT6AXgx48UDi4rwE+efAIWNBAYAAEdx4YIFEG7ExgTz32NCCPPPFI0N1AGfDDT4T+JCBRQAAh+QQJBQD/ACwAAAAAFgAUAAAI/wD/CRxIcCAgRQUTJpST50+kPYwkKZxY5EiXMTBwiNKEsInCYLugDSRTBFs6NrpYTaKisFiuYSL/0SGTo9enUK5YMZqYTNWiPnnI6CmlixQeR6c06fmH6xgykP+SZQETpgsWPZZCxaIWZY8nTryArTLmrBg7egZa3CDSpE2kRKkCPIPEKdm/Wbn45UNw4QGBAQ9ApGjyRhCpYLimFbP1L9e+eRYqCBi4QhyOIDGscWsVINs+gfrmaZgsME6cPT2uOWFCDls2bOEE3qN3YfKbOHLQYJmappqOJO3OoRuYgF6EDm7aFIwBZQcwGSMaEEwgYfJSIQSNLBEIgDZBfBQqgFF484/IFDRomAQBwl10wQkQ0v1LVIgKkSJCztwRmG8eg4ThCQRKIHPMMQkqqAhUjzzSFXRPbRMB0IA8+Ez0zwYJ8bMPPvh8ZmFC99yjj4cJBQQAOw=="
    Private SonicImage As Image = Nothing
    Private rect As New Rectangle
    Private Moving As Boolean = False
    Private Animating As Boolean = False
    Public Sub New()
        Me.SetStyle(ControlStyles.OptimizedDoubleBuffer Or ControlStyles.UserPaint, True)
        Me.Size = New Size(400, 23)
        Me.SonicImage = CodeToGif(_Sonic)
    End Sub

    Protected Overrides Sub OnPaint(e As System.Windows.Forms.PaintEventArgs)
        MyBase.OnPaint(e)
        rect = New Rectangle(0, 0, Me.Width, Me.Height)
        e.Graphics.DrawRectangle(New Pen(New SolidBrush(_ColorDraw)), New Rectangle(rect.X + 10, rect.Y, rect.Width - 25, rect.Height - 1))
        rect.Inflate(-2, -2)
        Dim progressWidht As Integer = CInt(((rect.Width - 24) / (Maximum - Minimum)) * Value)
        GetRectangle(e.Graphics, rect, progressWidht, _BarColorSolidA, _BarColorSolidB, 5)
        If SonicImage Is Nothing Then Return
        animateImage()
        ImageAnimator.UpdateFrames()
        e.Graphics.InterpolationMode = Drawing2D.InterpolationMode.HighQualityBicubic
        e.Graphics.SmoothingMode = Drawing2D.SmoothingMode.HighQuality
        e.Graphics.DrawImage(SonicImage, progressWidht - CInt(SonicImage.Width - 24), rect.Height - CInt(SonicImage.Height - 1))
    End Sub

    Private Sub GetRectangle(g As Graphics, rect As Rectangle, Value As Integer, ColorA As Color, ColorB As Color, larg As Integer)
        For i As Integer = 0 To rect.Width
            For j As Integer = 0 To rect.Height
                If Math.IEEERemainder(i + j, 2) = 0 Then
                    g.FillRectangle(New SolidBrush(ColorA), New Rectangle(CInt(rect.X + 10) + i * larg, rect.Y + j * larg, Value - i * larg, rect.Height - j * larg))
                Else
                    g.FillRectangle(New SolidBrush(ColorB), New Rectangle(CInt(rect.X + 10) + i * larg, rect.Y + j * larg, Value - i * larg, rect.Height - j * larg))
                End If
            Next
        Next
    End Sub

    Private Sub animateImage()
        If Not Animating Then
            ImageAnimator.Animate(SonicImage, New EventHandler(AddressOf Me.OnFrameChanged))
            Animating = True
        End If
    End Sub

    Private Sub OnFrameChanged()
        Me.Invalidate()
    End Sub

    Private Function CodeToGif(code As String) As Image
        Dim _image As Image = Image.FromStream(New MemoryStream(Convert.FromBase64String(code)))
        Return _image
    End Function

    Protected Overrides Sub OnResize(ByVal e As EventArgs)
        MyBase.OnResize(e)
        If Me.Height <> 23 Then
            Me.Height = 23
        ElseIf Me.Width < 250 Then
            Me.Width = 250
        ElseIf Me.Width > 600 Then
            Me.Width = 600
        End If
    End Sub

    Protected Overrides Sub OnMouseDown(ByVal e As System.Windows.Forms.MouseEventArgs)
        MyBase.OnMouseDown(e)
        If rect.Contains(e.Location) OrElse e.Button = Windows.Forms.MouseButtons.Left Then
            Moving = True
        End If
    End Sub
    Protected Overrides Sub OnMouseup(ByVal e As System.Windows.Forms.MouseEventArgs)
        MyBase.OnMouseUp(e)
        Moving = False
    End Sub
    Protected Overrides Sub OnMouseMove(ByVal e As System.Windows.Forms.MouseEventArgs)
        If Moving AndAlso e.X > -2 AndAlso e.X < CInt(rect.Width + 2) Then
            Value = CInt((Maximum - Minimum) * (e.X / rect.Width))
        End If
        MyBase.OnMouseMove(e)
    End Sub

    Protected Overrides Sub OnMouseEnter(e As System.EventArgs)
        MyBase.OnMouseEnter(e)
        If Cursor.Equals(Cursors.Arrow) Then
            Me.Cursor = Cursors.Hand
        End If
    End Sub

    Protected Overrides Sub OnMouseLeave(e As System.EventArgs)
        MyBase.OnMouseLeave(e)
        If Cursor.Equals(Cursors.Hand) Then
            Me.Cursor = Cursors.Arrow
        End If
    End Sub

End Class

Progressbar Mario

 Voici comment realiser un progressbar Mario.


vous pouvez changer les couleur des briques et drawborder .

Ma classes :

Imports System.Drawing.Drawing2D

Public Class ProgressbarMario : Inherits ProgressBar


    Private _BarColorSolidA As Color = Color.Black
    Public Property BarColorSolidA As Color
        Get
            Return _BarColorSolidA
        End Get
        Set(value As Color)
            If value = Color.Transparent Then
                Return
            Else
                _BarColorSolidA = value
                Me.Invalidate()
            End If
        End Set
    End Property

    Private _BarColorSolidB As Color = Color.Red
    Public Property BarColorSolidB As Color
        Get
            Return _BarColorSolidB
        End Get
        Set(value As Color)
            If value = Color.Transparent Then
                Return
            Else
                _BarColorSolidB = value
                Me.Invalidate()
            End If
        End Set
    End Property

    Private _ColorDraw As Color = Color.White
    Public Property ColorDraw As Color
        Get
            Return _ColorDraw
        End Get
        Set(value As Color)
            If value = Color.Transparent Then
                Return
            Else
                _ColorDraw = value
                Me.Invalidate()
            End If
        End Set
    End Property

    Private _Mario As String = "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"
    Private MarioImage As Image = Nothing
    Private rect As New Rectangle
    Private Moving As Boolean = False

    Public Sub New()
        Me.SetStyle(ControlStyles.OptimizedDoubleBuffer Or ControlStyles.UserPaint, True)
        Me.MarioImage = CodeToImage(_Mario, 30, 30)
        Me.Size = New Size(400, 35)
    End Sub

    Protected Overrides Sub OnPaint(e As System.Windows.Forms.PaintEventArgs)
        MyBase.OnPaint(e)
        rect = New Rectangle(0, 0, Me.Width, Me.Height)
        e.Graphics.DrawRectangle(New Pen(New SolidBrush(_ColorDraw)), New Rectangle(rect.X + 10, rect.Y, rect.Width - 25, rect.Height - 1))
        rect.Inflate(-2, -2)
        Dim progressWidht As Integer = CInt(((rect.Width - 23) / (Maximum - Minimum)) * Value)
        Dim brick As New HatchBrush(HatchStyle.HorizontalBrick, _BarColorSolidA, _BarColorSolidB)
        e.Graphics.FillRectangle(brick, New Rectangle(rect.X + 10, rect.Y, progressWidht, rect.Height))
        If MarioImage Is Nothing Then Return
        e.Graphics.InterpolationMode = Drawing2D.InterpolationMode.HighQualityBicubic
        e.Graphics.SmoothingMode = Drawing2D.SmoothingMode.HighQuality
        e.Graphics.DrawImage(MarioImage, progressWidht - CInt(MarioImage.Width - 28), rect.Height - CInt(MarioImage.Height - 3))
    End Sub

    Private Function CodeToImage(code As String, width As Integer, Height As Integer) As Image
        Dim _image As Image = Image.FromStream(New System.IO.MemoryStream(Convert.FromBase64String(code)))
        Return New Bitmap(_image, New Size(width, Height))
    End Function

    Protected Overrides Sub OnResize(ByVal e As EventArgs)
        MyBase.OnResize(e)
        If Me.Height <> 30 Then
            Me.Height = 30
        ElseIf Me.Width < 250 Then
            Me.Width = 250
        ElseIf Me.Width > 600 Then
            Me.Width = 600
        End If
    End Sub

    Protected Overrides Sub OnMouseDown(ByVal e As System.Windows.Forms.MouseEventArgs)
        MyBase.OnMouseDown(e)
        If rect.Contains(e.Location) OrElse e.Button = Windows.Forms.MouseButtons.Left Then
            Moving = True
        End If
    End Sub
    Protected Overrides Sub OnMouseup(ByVal e As System.Windows.Forms.MouseEventArgs)
        MyBase.OnMouseUp(e)
        Moving = False
    End Sub
    Protected Overrides Sub OnMouseMove(ByVal e As System.Windows.Forms.MouseEventArgs)
        If Moving AndAlso e.X > -1 AndAlso e.X < CInt(rect.Width + 2) Then
            Value = CInt((Maximum - Minimum) * (e.X / rect.Width))
        End If
        MyBase.OnMouseMove(e)
    End Sub

    Protected Overrides Sub OnMouseEnter(e As System.EventArgs)
        MyBase.OnMouseEnter(e)
        If Cursor.Equals(Cursors.Arrow) Then
            Me.Cursor = Cursors.Hand
        End If
    End Sub

    Protected Overrides Sub OnMouseLeave(e As System.EventArgs)
        MyBase.OnMouseLeave(e)
        If Cursor.Equals(Cursors.Hand) Then
            Me.Cursor = Cursors.Arrow
        End If
    End Sub
End Class

Progressbar StarTrek

 Voici comment realiser un progressbar Startrek .


Vous pouvez changer la couleur des lines et drawborder.

Ma classe :

Public Class ProgressbarStarTrek : Inherits ProgressBar

    Private _MyColor As Color = Color.Black
    Public Property MyColor As Color
        Get
            Return _MyColor
        End Get
        Set(value As Color)
            If value = Color.Transparent Then
                Return
            Else
                _MyColor = value
                Me.Invalidate()
            End If
        End Set
    End Property

    Private _MyFont As Font
    Public Property MyFont As Font
        Get
            Return _MyFont
        End Get
        Set(value As Font)
            _MyFont = value
            Me.Invalidate()
        End Set
    End Property

    Private _ColorRectangle As Color = Color.White
    Public Property ColorDrawBorder As Color
        Get
            Return _ColorRectangle
        End Get
        Set(value As Color)
            If value = Color.Transparent Then
                Return
            Else
                _ColorRectangle = value
                Me.Invalidate()
            End If
        End Set
    End Property

    Private _ColorLine As Color = Color.Blue
    Public Property ColorLine As Color
        Get
            Return _ColorLine
        End Get
        Set(value As Color)
            If value = Color.Transparent Then
                Return
            Else
                _ColorLine = value
                Me.Invalidate()
            End If
        End Set
    End Property

    Private StarTrek As String = "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"
    Private _Vaisseau As Image = Nothing
    Private rect As New Rectangle
    Private Moving As Boolean = False

    Public Sub New()
        Me.SetStyle(ControlStyles.OptimizedDoubleBuffer Or ControlStyles.UserPaint, True)
        Me._Vaisseau = CodeToImage(StarTrek, 40, 30)
        Me.Size = New Size(350, 35)
        Me._MyFont = New Font("Times New Roman", 10, FontStyle.Bold)
    End Sub

    Protected Overrides Sub OnPaint(e As System.Windows.Forms.PaintEventArgs)
        MyBase.OnPaint(e)
        rect = New Rectangle(0, 0, Me.Width, Me.Height)
        DrawRectangle(e.Graphics, _ColorRectangle, rect.X + 1, rect.Y + 1, rect.Width - 3, rect.Height - 3, 10)
        Dim progressWidht As Integer = CInt(((rect.Width - 42) / (Maximum - Minimum)) * Value)
        If _Vaisseau Is Nothing Then Return
        e.Graphics.InterpolationMode = Drawing2D.InterpolationMode.HighQualityBicubic
        e.Graphics.SmoothingMode = Drawing2D.SmoothingMode.HighQuality
        e.Graphics.DrawImage(_Vaisseau, progressWidht - CInt(_Vaisseau.Width - 40), rect.Height - _Vaisseau.Height - 3)
        If Value < 2 Then Return
        e.Graphics.DrawLine(New Pen(New SolidBrush(_ColorLine), 3), CInt(rect.X + 3), rect.Y + CInt(rect.Height - 8), progressWidht, CInt(rect.Height - 8))
        e.Graphics.DrawLine(New Pen(New SolidBrush(_ColorLine), 3), CInt(rect.X + 3), rect.Y + CInt(rect.Height - 28), progressWidht, CInt(rect.Height - 28))
        If Value < 8 Then Return
        e.Graphics.DrawString(Value & " %", _MyFont, New SolidBrush(_MyColor), New Rectangle(CInt(rect.X - 30) + progressWidht, rect.Y, rect.Width, rect.Height), New StringFormat With {.LineAlignment = StringAlignment.Center})
    End Sub

    Private Function CodeToImage(code As String, width As Integer, Height As Integer) As Image
        Dim _image As Image = Image.FromStream(New System.IO.MemoryStream(Convert.FromBase64String(code)))
        Return New Bitmap(_image, New Size(width, Height))
    End Function

    Public Sub DrawRectangle(ByVal g As Graphics, ByVal _Colors As Color, ByVal x As Int32, ByVal y As Int32, ByVal width As Int32, ByVal height As Int32, ByVal radius As Int32)
        Dim area As Rectangle = New Rectangle(x, y, width, height)
        Dim path As Drawing2D.GraphicsPath = New Drawing2D.GraphicsPath
        path.AddArc(area.Left, area.Top, radius * 2, radius * 2, 180, 90)
        path.AddArc(area.Right - (radius * 2), area.Top, radius * 2, radius * 2, 270, 90)
        path.AddArc(area.Right - (radius * 2), area.Bottom - (radius * 2), radius * 2, radius * 2, 0, 90)
        path.AddArc(area.Left, area.Bottom - (radius * 2), radius * 2, radius * 2, 90, 90)
        path.CloseAllFigures()
        g.DrawPath(New Pen(_Colors, 3), path)
    End Sub

    Protected Overrides Sub OnResize(ByVal e As EventArgs)
        MyBase.OnResize(e)
        If Me.Height <> 35 Then
            Me.Height = 35
        ElseIf Me.Width < 150 Then
            Me.Width = 150
        ElseIf Me.Width > 500 Then
            Me.Width = 500
        End If
    End Sub

    Protected Overrides Sub OnMouseDown(ByVal e As System.Windows.Forms.MouseEventArgs)
        MyBase.OnMouseDown(e)
        If rect.Contains(e.Location) OrElse e.Button = Windows.Forms.MouseButtons.Left Then
            Moving = True
        End If
    End Sub
    Protected Overrides Sub OnMouseup(ByVal e As System.Windows.Forms.MouseEventArgs)
        MyBase.OnMouseUp(e)
        Moving = False
    End Sub
    Protected Overrides Sub OnMouseMove(ByVal e As System.Windows.Forms.MouseEventArgs)
        If Moving AndAlso e.X > -1 AndAlso e.X < CInt(rect.Width + 2) Then
            Value = CInt((Maximum - Minimum) * (e.X / rect.Width))
        End If
        MyBase.OnMouseMove(e)
    End Sub

    Protected Overrides Sub OnMouseEnter(e As System.EventArgs)
        MyBase.OnMouseEnter(e)
        If Cursor.Equals(Cursors.Arrow) Then
            Me.Cursor = Cursors.Hand
        End If
    End Sub

    Protected Overrides Sub OnMouseLeave(e As System.EventArgs)
        MyBase.OnMouseLeave(e)
        If Cursor.Equals(Cursors.Hand) Then
            Me.Cursor = Cursors.Arrow
        End If
    End Sub
End Class