Advertisement
netrosly

Lumen Form GDI

Aug 11th, 2015
188
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
VB.NET 40.34 KB | None | 0 0
  1. '[By Nettro from HF]
  2. Imports System.IO
  3. Imports System.ComponentModel
  4. Imports System.Drawing.Drawing2D
  5. Public Class Lumen_Form
  6.  
  7.   Inherits Control
  8.   <Runtime.InteropServices.DllImport("Gdi32.dll", EntryPoint:="CreateRoundRectRgn")>
  9.   Private Shared Function CreateRoundRectRgn(nLeftRect As Integer, nTopRect As Integer, nRightRect As Integer, nBottomRect As Integer, nWidthEllipse As Integer, nHeightEllipse As Integer) As IntPtr
  10.   End Function
  11.   Property Header_Color As Color = Color.FromArgb(44, 48, 63)
  12.   Property Main_Color As Color = Color.FromArgb(30, 159, 180)
  13.   Property Bubble_Icon As Boolean = False
  14.   Property Animation As Boolean = True
  15.   Property RealTime_Speed As Integer = 10
  16.   Property Rounded_Corners As Boolean = True
  17.   Property Bubble_Color As Color = Color.FromArgb(81, 181, 197)
  18.   Property Header_Text_Color As Color = Color.White
  19.   Property RealTime_update As Boolean = True
  20.   Property Bottom_header_Color As Color = Color.FromArgb(81, 181, 197)
  21.   Property Bottom_header As Boolean = False
  22.   Property header_Font As Font = New Font("Arial", 14, FontStyle.Bold)
  23.   Property Max_Tog As Boolean = False
  24.   Property Min_Tog As Boolean = False
  25.   Property Close_Tog As Boolean = False
  26.   Property header_Devider As String = "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EZFu7gBRDo2V00euTi4uJJnk18rOOSYiIr291sfqUR/pA0hfwEC/OTA4/bPP37r3ttEfIiIivd+AXznVNb/WqBcREemfUR/5dfoABvrVkaHqP7tw897CBy3kJSIi0lejF3R+iIiI9GbSvl896iNt/4F+d7RSvXNspOYkERER0fkhIiIiXZ607y/f/n7HR73N/8YA9x2rVH8383+dKCIiIj3Y+dHg74mIiEh3J+3652+9uXJnl8/r8VjphRfedbAy8ztWzRcRERERERHpvqQ9f3ps/nsdHydHal9KW1+Hx+otcF8Y+qGnrk7OO2lEREREREREuit7bkwvXFpa5PTUSO3fpo2vp2MdT1yZ/OsPv3x70okjIiIiIiIi0h159MrrC+cm7i52fJwenfuzXZ8Yeo8ejk38zU/e/OH3f+bmkBNIREREREREpNzJOl5HRmYXLi+P+NDx0dQaIH/tgc/cfNGJJCIiIiIiIlLePHV9anGR06zxYarL1vwXD3zm1sedTCIiIiIiIiIlnO7yyusLZyfu3t/VxeKm2/O3Pjvxvz7w2VtvO7FEREREREREypEHX3pt4ehIbeFopXpbz0WL/PinJ/7bBz578y0nmIiIiIiIiEjns/v61LcODVX/sR6LFvuvPzt+8IHP3Pyyk0xERERERESkc/nwK3f+Yv+NqZ/RU1HUCJBPjfytBz5787ecbCIiIiIiIiLtz0Mv3f6/nr7xxpN6KIr2T//pf/nAZ279cyediIiIiIiISPuy47O3PvXElSt/XcdEGz3wmZv/fT1fcwKKiIiIiIiIFJe0vesxzaVjO8F8euLh+gH4bSejiIiIiIiISCEdH7+dtrceiE574YW/9sBnb/2Der7jxBQRERERERFpQadHvY2dtnba3DoeyrQY6mduHXj/Z279vpNUREREREREZBupt63TxtbTUNpRIC+++4FP3/yH7//srb9ywoqIiIiIiIg0kXpbOm3qtK11MHSBv/HZ8V0PfOZmzckrIiIiIiIi0tDaHrW0pfUodOOCqJ8Z/4kHPnvzS05kERERERERkbXW9rj5pbSd9SB0/VSYoR+qH8xffP9nb/2FE1tERERERERkcYrLX6StnDZzP3QN/P9DNNP711WmHQAAAABJRU5ErkJggg=="
  27.   Property Header_ForeGround As String = "iVBORw0KGgoAAAANSUhEUgAABFEAAAE8CAMAAAA/ld62AAABblBMVEUiJjP///8iJjMiJjMiJjMiJjMiJjMiJjMiJjMiJjMiJjMiJjMiJjMiJjMiJjMiJjMiJjMiJjMiJjMiJjMiJjMiJjMiJjMiJjMiJjMiJjMiJjMiJjMiJjMiJjMiJjMiJjMiJjMiJjMiJjMiJjMiJjMiJjMiJjMiJjMiJjMiJjMiJjMiJjMiJjMiJjMiJjMiJjMiJjMiJjMiJjMiJjMiJjMiJjMiJjMiJjMiJjMiJjMiJjMiJjMiJjMiJjMiJjMiJjMiJjMiJjMiJjMiJjMiJjMiJjMiJjMiJjMiJjMiJjMiJjMiJjMiJjMiJjMiJjMiJjMiJjMiJjMiJjMiJjMiJjMiJjMiJjMiJjMiJjMiJjMiJjMiJjMiJjMiJjMiJjMiJjMiJjMiJjMiJjMiJjMiJjMiJjMiJjMiJjMiJjMiJjMiJjMiJjMiJjMiJjMiJjMiJjMiJjMiJjMiJjMiJjMiJjMiJjMiJjMiJjMiJjMiJjPtNf9sAAAAenRSTlMAAAECAwQFBgcICQoLDA0ODxAREhMVFhcYGRodHh8gISIkJSYnKSorLC4wMTIzNDU2Nzg7PD4/QUJDREZHSElKTE9QUVNUVVdYWVpbXF1fYGFiZGZnaGlqa2xtbnByc3V2d3p7fH+AgYKDhIWGh4iKi4yNjo+QkZKTlJgaoIUAAAh2SURBVHja7d3NbxRlHMDx2Xbb3ZYChVJ5KS+ttIDR0kKB0gIWtFQiosR4MXrx4v+wf8H+H549Gc8mXPBijBoTiR4MmGgMihgRBV/wAEaBLbS7T6fPM/v5HGmr3d/sfPvM7OxsqZSRpzst/GztEV+rG21Dnt856zACQFEARQEUBUBRAEUBFAVAUQBFARQFUBQARQEUBVAUAEUBgiobAUV2J8uyrKvjlknko2SNQvFV15qBNQoEK0rVDPJijULxVXrNQFEgWFHWmIGiQCjdFTNQFAil6qhHUSCYrh4zUBQIdtRjjaIoEK4o1iiKAsFUXI+Sm/IdM7hf7fdff/np6rffmUSBitJnBrkVxQgeVK0ODGfZz19fuvy3YRSkKN0Vb+xRlNW1fnLy2ief/WYQRdCdrVWUnDiPsriNz709020MBdCVOTVrjRKD3pMTH3zZ+Eu1AP/5ugnndNSTuQzfGiUOG14963WCAhTFBSmKEonS/jcHTSFxPZk39ihKNAbfGDWEtA9eM2sURYnpL9z5vYaQsmrmzGxunJldgq5X3rtUzEfW4vnlRE4tV61RFCUunWdvXkm8F+38ulK3NYqjntiek+c3RP4bztlIjyqKF+wUJS5rznXG/QvOSsqjiuJm+IoSmaGZyH9BSVlUJcu6vHysKLHtsdslJd2iWKQoSmw652OflaQsftTj1KyiRGfrePTLKElZtCje2KMo8e2w0b8RWVIWPepxQYqiRKd/Kv7oScoiaxRnZhUlPpOd0f+KktJA1RolP66ZXc4i5anP409KdsGGekBX9ogzsw+9EcFda6xRcnMwgd/RKqVhUZyZVZQIDaXwS0pKo6Mel+ErCpKiKIqCpMSmnLlmVlGQlJC6jEBRkBQUBUlBUZAUUJRweg+/JSnQItfM3rVzck/Rzt3N2qooyuoYnd5ZxAMfGxZFWQV7ZrYZAihKEFvmnvQ0AEUJou/4hJPToChhTD7rPamxuHtbAfcSUJR0rV/wGemgKIHsOWOBAooS6JHPHS7Z/qAoQfSfa+YTvWqeMaAoD9txbr2ND4oSxv4F98sARQlk+lTJMQ0oShAdp47Y8KAogYJy+qDtXvwn9hMD/X19vZVKp89QV5SVDcqZCZu92Ft4y9C2TQMPfv5j7bdbt27euH7thx//MiJFCfh0WxCUIqvs3j3c1/ArPfcWK39+f+XKN3+YlKKEcfKAjV5cI+Ojj/3I9PLQ0Mzty198ddu4FKV1x6Zt88IuT8b3b17it3aPjd349KObZqYoLZo4YZOvsAYvwefyfuLq1NSy3qbVd2zyw4+dUlGUlux6wVt5iqnjwNF1y/2ZNfN7379udIrSvHVnO23xQhpa2NLMj+14/d2rhqcoTT/Wl72XJ86DpBYPizpPTDd5I77+196xCRSlWad22N5FNPDi9qZ/tn/B/BSlSfumbO4iGjvbylWx+wxQUZqz7rSzskV06Hm3HleU1TDfZ2sX8VD2qBkoyqrYa2MXT8e8Q9nYNokRkPDCU1AUBUI5JiiOelgdRbw/3QHvqbBGgVB2efVOUSAU76lQFAj3zH3JeyoUBUI5sssMFAUCGTxuBooCocz7CDdFgVCeGTYDRYFAul2JoigQzKF+M4iUa2Zj8d9FrXXDeIzew+3zWOcuWKPAyjrY2z6PdXZOUWBFVdrqg6sTS4qikJzxNW31cNNKiqKQmo7JNnvASSVFUUjNyGC7PeKUkqIopObp9nvICSVFUUhMz1gbPuh0kqIoJGZvdzs+6mSSoigkZrQ9H3YqSYnsmtl7F466arRQasv4hvu/9+LDF4xWR9p0irNZElfPWqOQ1h/mkbJhKAqE2ouGDUNRINhetNMwFAVC7UUDGw1DUSDUXrTNMOLm/ijxqRnB/XvR/1/k2GwY1igQ7A/zVsNQFAi1F3VuNoy4k6IopLQXbfKhGpEnRVFIaS/aaBSRJ0VRSGkvUpTYk+K1HhLZi7ILWZbl8OnpjV9qq0c4DGsUaPEP81pziHyVYo1CSquU5IuyhIuN6ksdhjUKtPiHuWoKka9SrFFIaZWiKLGvUhSFpPYiIk+KorCiJwVos6Qoih0SSQnHmVlINynxnZ5VFJCUIh31/Lv0rwc/OHBHfRz4WKMA6a5SFAUkRVGAGJOiKCApigLEmBRFAUlRFCDGpCgKSIqiADEmRVFAUhQFiDEpigKSoihAjElRFJAURQFiTIq7QsISpHIHz1W/X4o1ClilKAoQY1IUBSRFUYAYk6IoICmKAsSYFEUBSVEUIMakKApIiqIAMSZFUUBSFAWIMSmKApKiKECMSVEUkJRwWrg/SuA7RoS/AUXNE4q2T0re90sp2WGhyC7mmpSSox4o+ColV4oCKAqgKICiACgKoCiAogAoCqAogKIAigKgKICiAIoCoCiAogCKAigKgKIAigIoCoCiAIoCKAqgKACKAigKoCgAigKEVzYCKLTaw/9Ut0YBHPUAigKgKICiAIoCoCiAogCKAigKgKIAigIoCoCiAIoCKAqgKACKAigKoCgAigIoCqAogKIAKAqgKEDR+JRSaDsr+MGl5WX9XwEc9QCKAigKoCgAigIoCqAoAIoCKAqgKICiACgKoCiAogAoCqAogKIAigKgKICiAMXlXvjA8m5UX7dGARz1AIoCKAqAogCKAigKgKIAigIoCqAoAIoCKAqgKACKAigKoCiAogAoCqAogKIAKAqQo3Kjm+rXzQWwRgEUBVAUAEUBFAVQFEBRAJpTbvSPNXMBrFEARQEUBUBRAEUBFAVQFABFARQFUBQARQEUBVAUQFEAFAVQFEBRABQFUBQgFSX3lAWsUQBFARQFQFEARQEUBUBRAEUBFAVQFABFARQFUBQARQEUBVAUQFEAFAVQFEBRABQFUBQgWv8AqjW5caVtEWcAAAAASUVORK5CYII="
  28.   Sub New()
  29.     Me.Dock = DockStyle.Fill
  30.     Me.DoubleBuffered = True
  31.   End Sub
  32.  
  33.   Public Sub DrawRoundedRectangle(ByVal G As Graphics, ByVal R As Rectangle, ByVal P As Pen, ByVal Diameter As Integer)
  34.     G.SmoothingMode = SmoothingMode.AntiAlias
  35.     Dim Radius As Integer = CInt(Diameter / 2)
  36.     Using Path As New GraphicsPath
  37.       Path.AddLine(R.Left + Radius, R.Top, R.Right - Radius - 1, R.Top)
  38.       Path.AddArc(R.Right - Diameter - 1, R.Top, Diameter, Diameter, 270, 90)
  39.       Path.AddLine(R.Right - 1, R.Top + Radius, R.Right - 1, R.Bottom - Diameter - 1)
  40.       Path.AddArc(R.Right - Diameter - 1, R.Bottom - Diameter - 1, Diameter, Diameter, 0, 90)
  41.       Path.AddLine(R.Right - Diameter - 1, R.Bottom - 1, R.Left + Radius, R.Bottom - 1)
  42.       Path.AddArc(R.Left, R.Bottom - Diameter - 1, Diameter, Diameter, 90, 90)
  43.       Path.AddLine(R.Left, R.Bottom - Radius - 1, R.Left, R.Top + Radius)
  44.       Path.AddArc(R.Left, R.Top, Diameter, Diameter, 180, 90)
  45.       G.DrawPath(P, Path)
  46.     End Using
  47.   End Sub
  48.   Private Sub Lumen_Form_Paint(sender As Object, e As PaintEventArgs) Handles Me.Paint
  49.     e.Graphics.Clear(BackColor)
  50.     e.Graphics.SmoothingMode = Drawing2D.SmoothingMode.HighQuality
  51.     'set up
  52.     If Rounded_Corners = True Then
  53.       Try
  54.         Me.Region = Region.FromHrgn(CreateRoundRectRgn(0, 0, Me.Width + 1, Me.Height + 1, 11, 11))
  55.       Catch : End Try
  56.  
  57.     End If
  58.  
  59.  
  60.     e.Graphics.FillRectangle(New SolidBrush(Header_Color), New Rectangle(-1, -1, Me.Width + 2, 180))
  61.     'image placement
  62.     Dim bimg As Image
  63.     Using ms As New MemoryStream(Convert.FromBase64String(Header_ForeGround))
  64.       bimg = Image.FromStream(ms)
  65.       ms.Close()
  66.     End Using
  67.     Dim bimgsize = New Size(bimg.Width / 2, bimg.Height / 2)
  68.     Try
  69.       e.Graphics.DrawImage(bimg, New Rectangle(Me.Width / 2 - bimgsize.Width / 2 + 5, 160 - bimgsize.Height + 40, bimgsize.Width, bimgsize.Height))
  70.     Catch : End Try
  71.     e.Graphics.FillRectangle(New SolidBrush(Main_Color), New Rectangle(-1, 179, Me.Width + 2, Me.Height))
  72.     Using ms As New MemoryStream(Convert.FromBase64String(header_Devider))
  73.       bimg = Image.FromStream(ms)
  74.       ms.Close()
  75.     End Using
  76.     Try
  77.       e.Graphics.DrawImage(bimg, New Rectangle(Me.Width / 2 - bimgsize.Width / 2, 130 - bimgsize.Height + 40, bimgsize.Width, bimgsize.Height + 50))
  78.     Catch : End Try
  79.     If Bubble_Icon = True Then
  80.       e.Graphics.FillEllipse(New SolidBrush(Bubble_Color), New Rectangle(Me.Width / 2 - 32, 44, 64, 64))
  81.     End If
  82.     Try
  83.       e.Graphics.DrawImage(FindForm.Icon.ToBitmap, New Rectangle(Me.Width / 2 - 21, 55, 44, 44))
  84.     Catch : End Try
  85.  
  86.     e.Graphics.DrawString(FindForm.Text, header_Font, New SolidBrush(Header_Text_Color), New Rectangle(0, 2, Me.Width, 30), New StringFormat With {.Alignment = StringAlignment.Center, .LineAlignment = StringAlignment.Center})
  87.    
  88.     If Bottom_header = True Then
  89.       e.Graphics.FillRectangle(New SolidBrush(Bottom_header_Color), New Rectangle(0, Me.Height - 70, Me.Width, 180))
  90.       Using ms As New MemoryStream(Convert.FromBase64String(header_Devider))
  91.         bimg = Image.FromStream(ms)
  92.         ms.Close()
  93.       End Using
  94.       bimg.RotateFlip(RotateFlipType.Rotate180FlipX)
  95.       Try
  96.         e.Graphics.DrawImage(bimg, New Rectangle(Me.Width / 2 - bimgsize.Width / 2, Height - bimgsize.Height / 2, bimgsize.Width, bimgsize.Height + 50))
  97.       Catch : End Try
  98.     End If
  99.     'Buttons
  100.     If Close_Tog = False Then
  101.       e.Graphics.FillEllipse(Brushes.LightGray, New Rectangle(Me.Width - 20, 9, 16, 16))
  102.       e.Graphics.FillEllipse(Brushes.White, New Rectangle(Me.Width - 20, 8, 16, 16))
  103.       e.Graphics.DrawString("x", New Font("Arial", 10, FontStyle.Bold), Brushes.DarkGray, New Rectangle(Me.Width - 20, 7, 16, 16), New StringFormat With {.Alignment = StringAlignment.Center, .LineAlignment = StringAlignment.Center})
  104.     Else
  105.       e.Graphics.FillEllipse(Brushes.LightGray, New Rectangle(Me.Width - 20, 9, 16, 16))
  106.       e.Graphics.FillEllipse(Brushes.White, New Rectangle(Me.Width - 20, 8, 16, 16))
  107.       e.Graphics.DrawString("x", New Font("Arial", 10, FontStyle.Bold), Brushes.DarkGray, New Rectangle(Me.Width - 20, 7, 16, 16), New StringFormat With {.Alignment = StringAlignment.Center, .LineAlignment = StringAlignment.Center})
  108.       e.Graphics.FillEllipse(New SolidBrush(Color.FromArgb(80, Color.Black)), New Rectangle(Me.Width - 20, 9, 16, 17))
  109.     End If
  110.  
  111.     If Max_Tog = False Then
  112.       e.Graphics.FillEllipse(Brushes.LightGray, New Rectangle(Me.Width - 40, 9, 16, 16))
  113.       e.Graphics.FillEllipse(Brushes.White, New Rectangle(Me.Width - 40, 8, 16, 16))
  114.       e.Graphics.DrawString("+", New Font("Arial", 11, FontStyle.Bold), Brushes.DarkGray, New Rectangle(Me.Width - 40, 9, 16, 16), New StringFormat With {.Alignment = StringAlignment.Center, .LineAlignment = StringAlignment.Center})
  115.     Else
  116.       e.Graphics.FillEllipse(Brushes.LightGray, New Rectangle(Me.Width - 40, 9, 16, 16))
  117.       e.Graphics.FillEllipse(Brushes.White, New Rectangle(Me.Width - 40, 8, 16, 16))
  118.       e.Graphics.DrawString("+", New Font("Arial", 11, FontStyle.Bold), Brushes.DarkGray, New Rectangle(Me.Width - 40, 9, 16, 16), New StringFormat With {.Alignment = StringAlignment.Center, .LineAlignment = StringAlignment.Center})
  119.       e.Graphics.FillEllipse(New SolidBrush(Color.FromArgb(80, Color.Black)), New Rectangle(Me.Width - 40, 8, 16, 17))
  120.     End If
  121.  
  122.     If Min_Tog = False Then
  123.       e.Graphics.FillEllipse(Brushes.LightGray, New Rectangle(Me.Width - 60, 9, 16, 16))
  124.       e.Graphics.FillEllipse(Brushes.White, New Rectangle(Me.Width - 60, 8, 16, 16))
  125.       e.Graphics.DrawString("-", New Font("Arial", 11, FontStyle.Bold), Brushes.DarkGray, New Rectangle(Me.Width - 59, 9, 16, 16), New StringFormat With {.Alignment = StringAlignment.Center, .LineAlignment = StringAlignment.Center})
  126.     Else
  127.       e.Graphics.FillEllipse(Brushes.LightGray, New Rectangle(Me.Width - 60, 9, 16, 16))
  128.       e.Graphics.FillEllipse(Brushes.White, New Rectangle(Me.Width - 60, 8, 16, 16))
  129.       e.Graphics.DrawString("-", New Font("Arial", 11, FontStyle.Bold), Brushes.DarkGray, New Rectangle(Me.Width - 59, 9, 16, 16), New StringFormat With {.Alignment = StringAlignment.Center, .LineAlignment = StringAlignment.Center})
  130.       e.Graphics.FillEllipse(New SolidBrush(Color.FromArgb(80, Color.Black)), New Rectangle(Me.Width - 60, 8, 16, 17))
  131.     End If
  132.  
  133.   End Sub
  134. #Region "ThemeDraggable"
  135.   Dim x, y As Integer
  136.   Private savePoint As New Point(0, 0)
  137.   Private isDragging As Boolean = False
  138.  
  139.   Protected Overrides Sub OnMouseDown(e As MouseEventArgs)
  140.     Dim dragRect As New Rectangle(0, 0, Me.Width - 60, 140)
  141.     If dragRect.Contains(New Point(e.X, e.Y)) Then
  142.       isDragging = True
  143.       savePoint = New Point(e.X, e.Y)
  144.     End If
  145.         '
  146.         If e.Button = System.Windows.Forms.MouseButtons.Left Then
  147.             If New Rectangle(Me.Width - 20, 8, 16, 16).Contains(e.X, e.Y) Then
  148.                 Environment.Exit(0)
  149.             End If
  150.             If New Rectangle(Me.Width - 40, 8, 16, 16).Contains(e.X, e.Y) Then
  151.                 If FindForm.WindowState = FormWindowState.Normal Then
  152.                     FindForm.WindowState = FormWindowState.Maximized
  153.                 Else
  154.                     FindForm.WindowState = FormWindowState.Normal
  155.                 End If
  156.             End If
  157.             If New Rectangle(Me.Width - 60, 8, 16, 16).Contains(e.X, e.Y) Then
  158.                 FindForm.WindowState = FormWindowState.Minimized
  159.             End If
  160.         End If
  161.         MyBase.OnMouseDown(e)
  162.   End Sub
  163.  
  164.   Protected Overrides Sub OnMouseUp(e As MouseEventArgs)
  165.     isDragging = False
  166.     MyBase.OnMouseUp(e)
  167.   End Sub
  168.  
  169.   Private mouseX As Integer
  170.   Private mouseY As Integer
  171.   Protected Overrides Sub OnMouseMove(e As MouseEventArgs)
  172.  
  173.     mouseX = e.X
  174.     mouseY = e.Y
  175.     If New Rectangle(Me.Width - 20, 8, 16, 16).Contains(e.X, e.Y) Then
  176.       Close_Tog = True
  177.       Cursor = Cursors.Hand
  178.     Else
  179.       Close_Tog = False
  180.       Cursor = Cursors.Arrow
  181.     End If
  182.     If New Rectangle(Me.Width - 40, 8, 16, 16).Contains(e.X, e.Y) Then
  183.       Max_Tog = True
  184.       Cursor = Cursors.Hand
  185.     Else
  186.       Max_Tog = False
  187.       Cursor = Cursors.Arrow
  188.     End If
  189.     If New Rectangle(Me.Width - 60, 8, 16, 16).Contains(e.X, e.Y) Then
  190.       Min_Tog = True
  191.       Cursor = Cursors.Hand
  192.     Else
  193.       Min_Tog = False
  194.       Cursor = Cursors.Arrow
  195.     End If
  196.     If isDragging Then
  197.       Dim screenPoint As Point = PointToScreen(e.Location)
  198.  
  199.       FindForm().Location = New Point(screenPoint.X - Me.savePoint.X, screenPoint.Y - Me.savePoint.Y)
  200.     End If
  201.     MyBase.OnMouseMove(e)
  202.     Invalidate()
  203.   End Sub
  204.  
  205. #End Region
  206. End Class
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement