• Vui lòng đọc nội qui diễn đàn để tránh bị xóa bài viết
  • Tìm kiếm trước khi đặt câu hỏi

Radial Progress Bar Android Style

Bộ sưu tập các thư viện hỗ trợ sẳn cho Visual Basic .NET và C#

Điều hành viên: tungcan5diop, QUANITGROBEST

Nội qui chuyên mục
1. Gửi bài viết tại đây, Tester sẽ chuyển vào trong nếu bài viết đạt yêu cầu.
2. Gửi bài theo mẫu qui định: viewtopic.php?f=2&t=5
[ten][/ten]
[loai][/loai]
[ngonngu][/ngonngu]
[tacgia][/tacgia]
[chucnang][/chucnang]
[end][/end]
Hình đại diện của người dùng
khoaakt
Thành viên năng nổ
Thành viên năng nổ
Bài viết: 75
Ngày tham gia: T.Ba 19/06/2012 6:30 pm
Đến từ: http://việtnam.vn/Kontum/Trường/THPT Chuyên Nguyễn Tất Thành.htm
Has thanked: 8 time
Been thanked: 7 time
Liên hệ:

Radial Progress Bar Android Style

Gửi bàigửi bởi khoaakt » T.Ba 10/06/2014 7:35 pm

Tên: Radial Progress Bar Android Style
Loại: Class
Ngôn ngữ lập trình: VB.NET
Tác giả: khoaakt
Chức năng: Như 1 progress bar nhưng mang phong cách android



Hướng dẫn + mã nguồn

Vô project chính, add thêm 1 cái class rồi xóa hết nội dung class ấy rồi chèn cái này vào:
  1. Imports System.Drawing.Drawing2D
  2. Public Class RadialAndroid : Inherits Control
  3.  
  4.     Sub New()
  5.         Size = New Size(150, 150)
  6.     End Sub
  7.  
  8.     Private _Value As Long
  9.     Public Property Value() As Long
  10.         Get
  11.             Return _Value
  12.         End Get
  13.         Set(ByVal v As Long)
  14.             If v > _Maximum Then v = _Maximum
  15.             _Value = v : Invalidate()
  16.         End Set
  17.     End Property
  18.  
  19.     Private _Maximum As Long = 100
  20.     Public Property Maximum() As Long
  21.         Get
  22.             Return _Maximum
  23.         End Get
  24.         Set(ByVal v As Long)
  25.             If v < 1 Then v = 1
  26.             _Maximum = v : Invalidate()
  27.         End Set
  28.     End Property
  29.  
  30.     Private _Thickness As Integer = 20
  31.     Public Property Thickness() As Integer
  32.         Get
  33.             Return _Thickness
  34.         End Get
  35.         Set(ByVal v As Integer)
  36.             _Thickness = v : Invalidate()
  37.         End Set
  38.     End Property
  39.  
  40.     Protected Overrides Sub OnPaintBackground(ByVal p As PaintEventArgs)
  41.     End Sub
  42.  
  43.     Protected Overrides Sub OnPaint(ByVal e As PaintEventArgs)
  44.         MyBase.OnPaint(e)
  45.  
  46.         Using B As New Bitmap(Width, Height)
  47.             Using G As Graphics = Graphics.FromImage(B)
  48.                 G.SmoothingMode = SmoothingMode.HighQuality
  49.  
  50.                 G.Clear(BackColor)
  51.  
  52.                 Using T As New LinearGradientBrush(ClientRectangle, Color.FromArgb(221, 221, 221), Color.FromArgb(221, 221, 221), LinearGradientMode.Vertical)
  53.                     Using P As New Pen(T, Thickness)
  54.                         G.DrawArc(P, CInt(Thickness / 2), CInt(Thickness / 2), Width - Thickness - 1, Height - Thickness - 1, 0, 360)
  55.                     End Using
  56.                 End Using
  57.  
  58.                 Using T As New LinearGradientBrush(ClientRectangle, Color.FromArgb(53, 194, 247), Color.FromArgb(53, 194, 247), LinearGradientMode.Vertical)
  59.                     Using P As New Pen(T, Thickness)
  60.                         P.StartCap = LineCap.Round : P.EndCap = LineCap.Round
  61.                         G.DrawArc(P, CInt(Thickness / 2), CInt(Thickness / 2), Width - Thickness - 1, Height - Thickness - 1, -90, CInt((360 / _Maximum) * _Value))
  62.                     End Using
  63.                 End Using
  64.                 e.Graphics.DrawImage(B, 0, 0)
  65.             End Using
  66.         End Using
  67.  
  68.     End Sub
  69.  
  70. End Class


Build project rồi tìm control RadialAndroid rồi add vô form -> thanks :-bd



Quay về “[.NET] Module, Class, UserControl, DLL”

Đang trực tuyến

Đang xem chuyên mục này: Không có thành viên nào trực tuyến.1 khách