تقييم الموضوع :
  • 0 أصوات - بمعدل 0
  • 1
  • 2
  • 3
  • 4
  • 5
[VB.NET] Progress الدائرية
#1
السلام عليكم ورحمة الله وبركاته

احببت ان اضع هذا المقال عن التصميم وهي اداة Progress تشبه بعض التطبيقات الحديثة اشتقيتها من الControl
بصراحة الاداة غير احترافية بالكامل عملتها بوقت قصير جدآ  ولكن اهم شي الفكرة بأن لاشي مستحيل

صورة الاداة




لتصميم الاداة قم بإضافة كلاس جديدوضع هذا الكود




كود :
Public Class NewProgress
   Inherits Control
   Public Shared ObjectCount As Integer = 0


   Private Sub NewProgress_Paint(ByVal sender As Object, ByVal e As System.Windows.Forms.PaintEventArgs) Handles Me.Paint
       Dim GRP As New Drawing2D.GraphicsPath
       GRP.AddEllipse(2, 2, Me.Width - 4, Me.Height - 4)
       e.Graphics.DrawPath(New Pen(Color.Azure, 4), GRP)
       Me.Region = New Region(GRP)
       e.Graphics.SmoothingMode = Drawing2D.SmoothingMode.AntiAlias
       Using sf As New StringFormat With {.Alignment = StringAlignment.Center, .LineAlignment = StringAlignment.Center}
           e.Graphics.DrawString(Value & "%", Font, New SolidBrush(ForeColor), ClientRectangle, sf)
       End Using
       If Value <> 0 Then
           Dim P As Short = Val(Value / 100) * 360
           e.Graphics.DrawArc(New Pen(Color.Brown, 5), 2, 2, Me.Width - 4, Me.Height - 4, 270, P)
       End If
       GRP.Dispose()
   End Sub

   Dim B As Short = 0
   <System.ComponentModel.Description("Value of Progress")> Property Value() As Short
       Get
           Return B
       End Get
       Set(ByVal value As Short)
           If value > 100 Then
               value = 100
           End If
           B = value
           Invalidate()
       End Set
   End Property

   Private Sub NewProgress_Resize(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Resize
       Width = Height
   End Sub

   Public Sub New()
       ObjectCount += 1
       ForeColor = Color.Black
       Size = New Size(60, 60)
   End Sub

   Protected Overrides Sub Finalize()
       MyBase.Finalize()
       ObjectCount -= 1
   End Sub
End Class






الان قم بعمل Build للمشروع ستلاحظ ظهور الاداة كما في الصورة

الرد
#2
بارك الله فيك و جزاك الله عنا كل خير .
الرد
تم الشكر بواسطة: 3booody , 3booody , baha , baha , ابراهيم ايبو


المواضيع المحتمل أن تكون متشابهة .
الموضوع : الكاتب الردود : المشاهدات : آخر رد
  Progress Dot silverlight 6 929 26-07-18, 12:14 PM
آخر رد: معاذ العامري
  اعمل Progress Bar باللون الذي تريده بسهولة RaggiTech 3 1,216 02-10-12, 02:15 AM
آخر رد: RaggiTech
  [VB.NET] Progress جديدة 0 51 منذ اقل من1 دقيقه مضت
آخر رد:

التنقل السريع :


يقوم بقرائة الموضوع: بالاضافة الى ( 1 ) ضيف كريم