Circle Progress Bar
Heres your chance to share your own tutorials with the community. Just post them on here. If your lucky they may even be posted on the main site.
Bogoh67 wrote:i got this from http://www.leetcoders.org/showthread.php?tid=3251how about building it instead of debugging it and closing
add new class delete all code and write thisCode: Select allImports System.Drawing.Drawing2D Public Class Circle_Pro_Bar : Inherits Control Sub New() Size = New Size(100, 100) Font = New Font(Font.FontFamily, 20) End Sub 'Notice in our properties, in the set routine we call 'Invalidate()' this will cause the 'control to redraw anytime the values are changed. Private _Value As Long Public Property Value() As Long Get Return _Value End Get Set(ByVal v As Long) If v > _Maximum Then v = _Maximum _Value = v : Invalidate() End Set End Property Private _Maximum As Long = 100 Public Property Maximum() As Long Get Return _Maximum End Get Set(ByVal v As Long) If v < 1 Then v = 1 _Maximum = v : Invalidate() End Set End Property Private _Thickness As Integer = 14 Public Property Thickness() As Integer Get Return _Thickness End Get Set(ByVal v As Integer) _Thickness = v : Invalidate() End Set End Property 'Handle PaintBackground to prevent flicker Protected Overrides Sub OnPaintBackground(ByVal p As PaintEventArgs) End Sub Protected Overrides Sub OnPaint(ByVal e As PaintEventArgs) MyBase.OnPaint(e) 'Create image buffer Using B As New Bitmap(Width, Height) Using G = Graphics.FromImage(B) 'Enable anti-aliasing to prevent rough edges G.SmoothingMode = 2 'Fill background color G.Clear(BackColor) 'Draw progress background Using T As New LinearGradientBrush(ClientRectangle, Color.Blue, Color.DarkBlue, LinearGradientMode.Vertical) Using P As New Pen(T, Thickness) G.DrawArc(P, CInt(Thickness / 2), CInt(Thickness / 2), Width - Thickness - 1, Height - Thickness - 1, 0, 360) End Using End Using 'Draw progress Using T As New LinearGradientBrush(ClientRectangle, Color.LightBlue, Color.Blue, LinearGradientMode.Vertical) Using P As New Pen(T, Thickness) P.StartCap = 2 : P.EndCap = 2 G.DrawArc(P, CInt(Thickness / 2), CInt(Thickness / 2), Width - Thickness - 1, Height - Thickness - 1, -90, CInt((360 / _Maximum) * _Value)) End Using End Using 'Draw center Using T As New LinearGradientBrush(ClientRectangle, Color.Blue, Color.LightBlue, LinearGradientMode.Vertical) G.FillEllipse(T, Thickness, Thickness, Width - Thickness * 2 - 1, Height - Thickness * 2 - 1) End Using 'Draw progress string Dim S = G.MeasureString(CInt((100 / _Maximum) * _Value), Font) G.DrawString(CInt((100 / _Maximum) * _Value), Font, Brushes.DarkBlue, Width / 2 - S.Width / 2, Height / 2 - S.Height / 2) 'Draw outter border G.DrawEllipse(Pens.DarkBlue, 0, 0, Width - 1, Height - 1) 'Draw inner border G.DrawEllipse(Pens.DarkBlue, Thickness, Thickness, Width - Thickness * 2 - 1, Height - Thickness * 2 - 1) 'Output the buffered image e.Graphics.DrawImage(B.Clone, 0, 0) End Using End Using End Sub End Class
then debug
stop debugging go back to your from look at toolbox
cuz in C#(for example) you can't debug class library's directly
I have seen this before but haven't got the time to implement it. It looks cool but only in the center of a form or next to a textbox.
Copyright Information
Copyright © Codenstuff.com 2020 - 2023