Başlıktanda Anlaşıldığı gibi 2 adet bomba temalarımız var. sözü Fazla Uzatmadan Hemen Temaları Veriyorum .
1. KONU
2.TEMA
1.TEMA KODLAR
İthalat System.Drawing.Drawing2D
İthalat System.ComponentModel
İthalat System.Runtime.ınteropservices
MustInherit Sınıf Tema
Inherits ContainerControl
#Region "Başlatma"
Korumalı G gibi Grafik
Sub New ()
SetStyle (DirectCast (139.270, ControlStyles), True)
End Sub
As Boolean Private ParentIsForm
Korumalı Overrides Sub OnHandleCreated (EventArgs ByVal e As)
Dok = DockStyle.Fill
ParentIsForm = TypeOf Veli Formu mi
Sonra ParentIsForm Eğer
Değil _TransparencyKey = Color.Empty sonra ParentForm.TransparencyKey = _TransparencyKey halinde
ParentForm.FormBorderStyle = FormBorderStyle.None
End If
MyBase.OnHandleCreated (e)
End Sub
As String Overrides Mülkiyet Metin ()
Almak
Dönüş MyBase.Text
Get End
Set (As String ByVal v)
MyBase.Text = h
() Geçersiz
Bitiş Seti
End Property
#end Bölge
#Region "Boyutlandırma ve Hareket"
As Boolean Private _Resizable = true
As Boolean Property Resizable ()
Almak
Dönüş _Resizable
Get End
Set (As Boolean ByVal değeri)
_Resizable = value
Bitiş Seti
End Property
Özel _MoveHeight Tamsayı 24 = Adı
As Integer Property MoveHeight ()
Almak
Dönüş _MoveHeight
Get End
Set (As Integer ByVal v)
_MoveHeight = H
Header = Yeni Dikdörtgen (7, 7, Genişlik - 14 _MoveHeight - 7)
Bitiş Seti
End Property
As IntPtr özel Bayrak
Korumalı Overrides Sub OnMouseDown (MouseEventArgs ByVal e As)
Değil e.Button = Sonra MouseButtons.Left dön eğer
ParentIsForm Sonra ise ParentForm.WindowState = FormWindowState.Maximized Dönüş Sonra ise
Sonra Header.Contains (e.Location) ise
Flag = Yeni ıntptr (2)
ElseIf Current.Position = 0 ya da değil Sonra _Resizable
Dönüş
Başka
Flag = Yeni ıntptr (Current.Position)
End If
Yakalama = False
DefWndProc (Message.Create (Parent.Handle, 161, Bayrak, hiçbir şey))
MyBase.OnMouseDown (e)
End Sub
Özel Yapısı Pointer
ReadOnly İmleç olarak İmleç, As Byte pozisyonu
Sub New (İmleç olarak ByVal c, As Byte ByVal p)
= C İmleç
Pozisyonu = p
End Sub
Bitiş Yapısı
Özel F1, F2, F3, As Boolean F4, PTC gibi Noktası
Pointer gibi özel Function GetPointer ()
PTC = PointToClient (MousePosition)
F1 = PTC.X <7
F2 = PTC.X> Genişlik - 7
F3 = PTC.Y <7
F4 = PTC.Y> Yükseklik - 7
F1 Ve F3 Sonra İade Eğer Yeni Pointer (Cursors.SizeNWSE, 13)
F1 Ve F4 Sonra İade Eğer Yeni Pointer (Cursors.SizeNESW, 16)
F2 Ve F3 Sonra İade Eğer Yeni Pointer (Cursors.SizeNESW, 14)
F2 Ve F4 Sonra İade Eğer Yeni Pointer (Cursors.SizeNWSE, 17)
Eğer F1 Sonra Dönüş Yeni Pointer (Cursors.SizeWE, 10)
Eğer F2 Sonra Dönüş Yeni Pointer (Cursors.SizeWE, 11)
F3 Ardından, Yeni Pointer dön if (Cursors.SizeNS, 12)
F4 Ardından, Yeni Pointer dön if (Cursors.SizeNS, 15)
Dönüş Yeni Pointer (Cursors.Default, 0)
End Function
Pointer gibi Bekleyen Özel Cari,
Private Sub setCurrent ()
Bekleyen = GetPointer ()
Current.Position = Sonra Pending.Position dön eğer
Mevcut = GetPointer ()
= Current.Cursor İmleç
End Sub
Korumalı Overrides Sub OnMouseMove (MouseEventArgs ByVal e As)
Eğer _Resizable sonra setCurrent ()
MyBase.OnMouseMove (e)
End Sub
Dikdörtgen olarak Korumalı vurusu
Korumalı Overrides Sub OnSizeChanged (EventArgs ByVal e As)
Genişliği = 0 OrElse Yükseklik = 0 Sonra Dönüşü ise
Header = Yeni Dikdörtgen (7, 7, Genişlik - 14 _MoveHeight - 7)
() Geçersiz
MyBase.OnSizeChanged (e)
End Sub
#end Bölge
#Region "Convienence"
MustOverride Alt PaintHook ()
Korumalı NotOverridable Overrides Sub OnPaint (PaintEventArgs ByVal e As)
Genişliği = 0 OrElse Yükseklik = 0 Sonra Dönüşü ise
G = e.Graphics
PaintHook ()
End Sub
Renk olarak özel _TransparencyKey
Renk olarak Property TransparencyKey ()
Almak
Dönüş _TransparencyKey
Get End
Set (Color ByVal v)
_TransparencyKey = H
() Geçersiz
Bitiş Seti
End Property
Özel _Image gibi Görüntü
Mülkiyet Görüntü () As Image
Almak
Dönüş _Image
Get End
Set (As Image ByVal değeri)
_Image = Değer
() Geçersiz
Bitiş Seti
End Property
As Integer ReadOnly özelliği ImageWidth ()
Almak
_Image Şey mi eğer Sonra 0 Dönüş
Dönüş _Image.Width
Get End
End Property
Boyutu itibariyle özel _Size
Özel _Rectangle gibi Dikdörtgen
LinearGradientBrush gibi özel _Gradient
Özel _Brush olarak SolidBrush
Korumalı Alt DrawCorners (Color ByVal c, Dikdörtgen olarak ByVal ru)
_Brush = Yeni SolidBrush (c)
G.FillRectangle (_Brush, rect.X, rect.Y, 1, 1)
G.FillRectangle (_Brush, rect.X + (rect.Width - 1), rect.Y, 1, 1)
G.FillRectangle (_Brush, rect.X, rect.Y + (rect.Height - 1), 1, 1)
G.FillRectangle (_Brush, rect.X + (rect.Width - 1), rect.Y + (rect.Height - 1), 1, 1)
End Sub
Korumalı Alt DrawBorders (ByVal p1 Pen gibi, ByVal p2 Kalem, Dikdörtgen olarak ByVal rect gibi)
G.DrawRectangle (P1, rect.X, rect.Y, rect.Width - 1, rect.Height - 1)
G.DrawRectangle (P2, rect.X + 1, rect.Y + 1, rect.Width - 3, rect.Height - 3)
End Sub
Alt DrawText Korumalı (As a HorizontalAlignment ByVal, Renk olarak ByVal c, ByVal x As Integer)
DrawText (a, c, x, 0)
End Sub
Alt DrawText Korumalı (As a HorizontalAlignment ByVal, Renk olarak ByVal c, ByVal x Integer, Integer olarak ByVal y gibi)
String.IsNullOrEmpty (Metin) Sonra Dönüşü ise
_Size = G.MeasureString (Metin, Font) .ToSize
_Brush = Yeni SolidBrush (c)
Select Case a
Vaka HorizontalAlignment.Left
G.DrawString (Metin, Yazı, _Brush, x _MoveHeight \ 2 - _Size.Height \ 2 + y)
Vaka HorizontalAlignment.Right
G.DrawString (Metin, Yazı, _Brush, Genişlik - _Size.Width - x, _MoveHeight 2 \ - _Size.Height \ 2 + y)
Neredeyse HorizontalAlignment.Center
G.DrawString (Metin, Yazı, _Brush, Genişlik \ 2 - _Size.Width \ 2 + x, _MoveHeight \ 2 - _Size.Height \ 2 + y)
End Select
End Sub
Korumalı Alt DrawIcon (As a HorizontalAlignment ByVal, ByVal x As Integer)
DrawIcon (A, X, 0)
End Sub
Korumalı Alt DrawIcon (As a HorizontalAlignment ByVal, ByVal x Integer, Integer olarak ByVal y gibi)
_Image Hiçbir Sonra İade mı varsa
Select Case a
Vaka HorizontalAlignment.Left
G.DrawImage (_Image, x _MoveHeight \ 2 - _Image.Height \ 2 + y)
Vaka HorizontalAlignment.Right
G.DrawImage (_Image, Genişlik - _Image.Width - x, _MoveHeight 2 \ - _Image.Height \ 2 + y)
Neredeyse HorizontalAlignment.Center
G.DrawImage (_Image, Genişlik \ 2 - _Image.Width \ 2, _MoveHeight \ 2 - _Image.Height \ 2)
End Select
End Sub
Korumalı Alt DrawGradient (Color ByVal c1, Renk olarak ByVal c2, ByVal x Integer, Integer olarak ByVal y As Integer, ByVal genişliği, As Integer ByVal yüksekliği, As Single ByVal açısı gibi)
_Rectangle = Yeni Dikdörtgen (x, y, genişlik, yükseklik)
_Gradient = Yeni LinearGradientBrush (_Rectangle, C1, C2, açı)
G.FillRectangle (_Gradient, _Rectangle)
End Sub
#end Bölge
End Class
Modül Kurası
GraphicsPath gibi Public Function RoundRect (ByVal Dikdörtgen olarak Dikdörtgen As Integer, ByVal Eğrisi)
() GraphicsPath = Yeni GraphicsPath zamanda P Dim
As Integer ArcRectangleWidth Dim = Eğrisi * 2
P.AddArc (Yeni Dikdörtgen (Rectangle.X, Rectangle.Y, ArcRectangleWidth, ArcRectangleWidth), -180, 90)
P.AddArc (Yeni Dikdörtgen (Rectangle.Width - ArcRectangleWidth + Rectangle.X, Rectangle.Y, ArcRectangleWidth, ArcRectangleWidth), -90, 90)
P.AddArc (Yeni Dikdörtgen (Rectangle.Width - ArcRectangleWidth + Rectangle.X, Rectangle.Height - ArcRectangleWidth + Rectangle.Y, ArcRectangleWidth, ArcRectangleWidth), 0, 90)
P.AddArc (Yeni Dikdörtgen (Rectangle.X, Rectangle.Height - ArcRectangleWidth + Rectangle.Y, ArcRectangleWidth, ArcRectangleWidth), 90, 90)
P.AddLine (Yeni Nokta (Rectangle.X, Rectangle.Height - ArcRectangleWidth + Rectangle.Y) New Point (Rectangle.X, Eğri + Rectangle.Y))
Dönüş P
End Function
GraphicsPath gibi 'Public Function RoundRect (As Integer ByVal X, Integer, Integer olarak ByVal Genişlik As Integer, ByVal Yükseklik As Integer, ByVal Curve ByVal Y)
'Dim Dikdörtgen olarak Dikdörtgen = Yeni Dikdörtgen (X, Y, Genişlik, Yükseklik)
GraphicsPath = Yeni GraphicsPath gibi 'Dim P ()
'Dim As Integer ArcRectangleWidth = Eğrisi * 2
'P.AddArc (Yeni Dikdörtgen (Rectangle.X, Rectangle.Y, ArcRectangleWidth, ArcRectangleWidth), -180, 90)
'P.AddArc (Yeni Dikdörtgen (Rectangle.Width - ArcRectangleWidth + Rectangle.X, Rectangle.Y, ArcRectangleWidth, ArcRectangleWidth), -90, 90)
'P.AddArc (Yeni Dikdörtgen (Rectangle.Width - ArcRectangleWidth + Rectangle.X, Rectangle.Height - ArcRectangleWidth + Rectangle.Y, ArcRectangleWidth, ArcRectangleWidth), 0, 90)
'P.AddArc (Yeni Dikdörtgen (Rectangle.X, Rectangle.Height - ArcRectangleWidth + Rectangle.Y, ArcRectangleWidth, ArcRectangleWidth), 90, 90)
'P.AddLine (Yeni Nokta (Rectangle.X, Rectangle.Height - ArcRectangleWidth + Rectangle.Y) New Point (Rectangle.X, Eğri + Rectangle.Y))
'Dönüş P
'End Function
End Module
MustInherit Sınıf ThemeControl
Inherits Kontrol
#Region "Başlatma"
Grafik, Bitmap Olarak B olarak G Korumalı
Sub New ()
SetStyle (DirectCast (139.270, ControlStyles), True)
B = Yeni Bitmap (1, 1)
G = Graphics.FromImage (B)
End Sub
Alt AllowTransparent ()
SetStyle (ControlStyles.Opaque, False)
SetStyle (ControlStyles.SupportsTransparentBackColor, True)
End Sub
As String Overrides Mülkiyet Metin ()
Almak
Dönüş MyBase.Text
Get End
Set (As String ByVal v)
MyBase.Text = h
() Geçersiz
Bitiş Seti
End Property
#end Bölge
#Region "Fare Kullanma"
Korumalı Enum Devlet olarak Bayt
MouseNone = 0
MouseOver = 1
MouseDown = 2
End Enum
Korumalı MouseState olarak Devlet
Korumalı Overrides Sub OnMouseLeave (EventArgs ByVal e As)
ChangeMouseState (State.MouseNone)
MyBase.OnMouseLeave (e)
End Sub
Korumalı Overrides Sub OnMouseEnter (EventArgs ByVal e As)
ChangeMouseState (State.MouseOver)
MyBase.OnMouseEnter (e)
End Sub
Korumalı Overrides Sub OnMouseUp (MouseEventArgs ByVal e As)
ChangeMouseState (State.MouseOver)
MyBase.OnMouseUp (e)
End Sub
Korumalı Overrides Sub OnMouseDown (MouseEventArgs ByVal e As)
E.Button = MouseButtons.Left Sonra ChangeMouseState (State.MouseDown) ise
MyBase.OnMouseDown (e)
End Sub
Private Sub ChangeMouseState (Devlet ByVal e As)
MouseState = E
() Geçersiz
End Sub
#end Bölge
#Region "Convienence"
MustOverride Alt PaintHook ()
Korumalı NotOverridable Overrides Sub OnPaint (PaintEventArgs ByVal e As)
Genişliği = 0 OrElse Yükseklik = 0 Sonra Dönüşü ise
PaintHook ()
e.Graphics.DrawImage (B, 0, 0)
End Sub
Korumalı Overrides Sub OnSizeChanged (EventArgs ByVal e As)
Eğer Değil Genişliği = 0 AndAlso değil Yükseklik Sonra = 0
B = Yeni Bitmap (Genişlik, Yükseklik)
G = Graphics.FromImage (B)
() Geçersiz
End If
MyBase.OnSizeChanged (e)
End Sub
As Boolean Private _NoRounding
As Boolean Property NoRounding ()
Almak
Dönüş _NoRounding
Get End
Set (As Boolean ByVal v)
_NoRounding = H
() Geçersiz
Bitiş Seti
End Property
Özel _Image gibi Görüntü
Mülkiyet Görüntü () As Image
Almak
Dönüş _Image
Get End
Set (As Image ByVal değeri)
_Image = Değer
() Geçersiz
Bitiş Seti
End Property
As Integer ReadOnly özelliği ImageWidth ()
Almak
_Image Şey mi eğer Sonra 0 Dönüş
Dönüş _Image.Width
Get End
End Property
As Integer ReadOnly özelliği ImageTop ()
Almak
_Image Şey mi eğer Sonra 0 Dönüş
Dönüş Yükseklik \ 2 - _Image.Height \ 2
Get End
End Property
Boyutu itibariyle özel _Size
Özel _Rectangle gibi Dikdörtgen
LinearGradientBrush gibi özel _Gradient
Özel _Brush olarak SolidBrush
Korumalı Alt DrawCorners (Color ByVal c, Dikdörtgen olarak ByVal ru)
Sonra Return _NoRounding ise
B.SetPixel (rect.X, rect.Y c)
B.SetPixel (rect.X + (rect.Width - 1), rect.Y c)
B.SetPixel (rect.X, rect.Y + (rect.Height - 1) c)
B.SetPixel (rect.X + (rect.Width - 1), rect.Y + (rect.Height - 1) c)
End Sub
Korumalı Alt DrawBorders (ByVal p1 Pen gibi, ByVal p2 Kalem, Dikdörtgen olarak ByVal rect gibi)
G.DrawRectangle (P1, rect.X, rect.Y, rect.Width - 1, rect.Height - 1)
G.DrawRectangle (P2, rect.X + 1, rect.Y + 1, rect.Width - 3, rect.Height - 3)
End Sub
Alt DrawText Korumalı (As a HorizontalAlignment ByVal, Renk olarak ByVal c, ByVal x As Integer)
DrawText (a, c, x, 0)
End Sub
Alt DrawText Korumalı (As a HorizontalAlignment ByVal, Renk olarak ByVal c, ByVal x Integer, Integer olarak ByVal y gibi)
String.IsNullOrEmpty (Metin) Sonra Dönüşü ise
_Size = G.MeasureString (Metin, Font) .ToSize
_Brush = Yeni SolidBrush (c)
Select Case a
Vaka HorizontalAlignment.Left
G.DrawString (Metin, Yazı, _Brush, x Yükseklik \ 2 - _Size.Height \ 2 + y)
Vaka HorizontalAlignment.Right
G.DrawString (Metin, Yazı, _Brush, Genişlik - _Size.Width - x Yükseklik \ 2 - _Size.Height \ 2 + y)
Neredeyse HorizontalAlignment.Center
G.DrawString (Metin, Yazı, _Brush, Genişlik \ 2 - _Size.Width \ 2 + x, Yükseklik \ 2 - _Size.Height \ 2 + y)
End Select
End Sub
Korumalı Alt DrawIcon (As a HorizontalAlignment ByVal, ByVal x As Integer)
DrawIcon (A, X, 0)
End Sub
Korumalı Alt DrawIcon (As a HorizontalAlignment ByVal, ByVal x Integer, Integer olarak ByVal y gibi)
_Image Hiçbir Sonra İade mı varsa
Select Case a
Vaka HorizontalAlignment.Left
G.DrawImage (_Image, x Yükseklik \ 2 - _Image.Height \ 2 + y)
Vaka HorizontalAlignment.Right
G.DrawImage (_Image, Genişlik - _Image.Width - x Yükseklik \ 2 - _Image.Height \ 2 + y)
Neredeyse HorizontalAlignment.Center
G.DrawImage (_Image, Genişlik \ 2 - _Image.Width \ 2, Boyut \ 2 - _Image.Height \ 2)
End Select
End Sub
Korumalı Alt DrawGradient (Color ByVal c1, Renk olarak ByVal c2, ByVal x Integer, Integer olarak ByVal y As Integer, ByVal genişliği, As Integer ByVal yüksekliği, As Single ByVal açısı gibi)
_Rectangle = Yeni Dikdörtgen (x, y, genişlik, yükseklik)
_Gradient = Yeni LinearGradientBrush (_Rectangle, C1, C2, açı)
G.FillRectangle (_Gradient, _Rectangle)
End Sub
#end Bölge
End Class
MustInherit Sınıf ThemeContainerControl
Inherits ContainerControl
#Region "Başlatma"
Grafik, Bitmap Olarak B olarak G Korumalı
Sub New ()
SetStyle (DirectCast (139.270, ControlStyles), True)
B = Yeni Bitmap (1, 1)
G = Graphics.FromImage (B)
End Sub
Alt AllowTransparent ()
SetStyle (ControlStyles.Opaque, False)
SetStyle (ControlStyles.SupportsTransparentBackColor, True)
End Sub
#end Bölge
#Region "Convienence"
MustOverride Alt PaintHook ()
Korumalı NotOverridable Overrides Sub OnPaint (PaintEventArgs ByVal e As)
Genişliği = 0 OrElse Yükseklik = 0 Sonra Dönüşü ise
PaintHook ()
e.Graphics.DrawImage (B, 0, 0)
End Sub
Korumalı Overrides Sub OnSizeChanged (EventArgs ByVal e As)
Eğer Değil Genişliği = 0 AndAlso değil Yükseklik Sonra = 0
B = Yeni Bitmap (Genişlik, Yükseklik)
G = Graphics.FromImage (B)
() Geçersiz
End If
MyBase.OnSizeChanged (e)
End Sub
As Boolean Private _NoRounding
As Boolean Property NoRounding ()
Almak
Dönüş _NoRounding
Get End
Set (As Boolean ByVal v)
_NoRounding = H
() Geçersiz
Bitiş Seti
End Property
Özel _Rectangle gibi Dikdörtgen
LinearGradientBrush gibi özel _Gradient
Korumalı Alt DrawCorners (Color ByVal c, Dikdörtgen olarak ByVal ru)
Sonra Return _NoRounding ise
B.SetPixel (rect.X, rect.Y c)
B.SetPixel (rect.X + (rect.Width - 1), rect.Y c)
B.SetPixel (rect.X, rect.Y + (rect.Height - 1) c)
B.SetPixel (rect.X + (rect.Width - 1), rect.Y + (rect.Height - 1) c)
End Sub
Korumalı Alt DrawBorders (ByVal p1 Pen gibi, ByVal p2 Kalem, Dikdörtgen olarak ByVal rect gibi)
G.DrawRectangle (P1, rect.X, rect.Y, rect.Width - 1, rect.Height - 1)
G.DrawRectangle (P2, rect.X + 1, rect.Y + 1, rect.Width - 3, rect.Height - 3)
End Sub
Korumalı Alt DrawGradient (Color ByVal c1, Renk olarak ByVal c2, ByVal x Integer, Integer olarak ByVal y As Integer, ByVal genişliği, As Integer ByVal yüksekliği, As Single ByVal açısı gibi)
_Rectangle = Yeni Dikdörtgen (x, y, genişlik, yükseklik)
_Gradient = Yeni LinearGradientBrush (_Rectangle, C1, C2, açı)
G.FillRectangle (_Gradient, _Rectangle)
End Sub
#end Bölge
End Class
Sınıf TxtBox
Inherits ThemeControl
Yeni TextBox Dim WithEvents txtbox
#Region "Lol"
Özel _passmask Boolean = False olarak
As Boolean Public Shadows Property UseSystemPasswordChar ()
Almak
_passmask Dön
Get End
Set (As Boolean ByVal v)
txtbox.UseSystemPasswordChar = UseSystemPasswordChar
_passmask h =
() Geçersiz
Bitiş Seti
End Property
As Integer Private _maxchars = 32767
As Integer Public Shadows Property MaxLength ()
Almak
Dönüş _maxchars
Get End
Set (As Integer ByVal v)
_maxchars = h
txtbox.MaxLength = MaxLength
() Geçersiz
Bitiş Seti
End Property
HorizontalAlignment gibi özel _align
HorizontalAlignment olarak Kamu Shadows Property TextAlignment ()
Almak
_align Dön
Get End
Set (HorizontalAlignment ByVal v)
_align = v
() Geçersiz
Bitiş Seti
End Property
Korumalı Overrides Sub OnPaintBackground (ByVal pevent System.Windows.Forms.PaintEventArgs gibi)
End Sub
Korumalı Overrides Sub OnTextChanged (System.EventArgs ByVal e As)
MyBase.OnTextChanged (e)
() Geçersiz
End Sub
Korumalı Overrides Sub OnBackColorChanged (System.EventArgs ByVal e As)
MyBase.OnBackColorChanged (e)
txtbox.BackColor = BackColor
() Geçersiz
End Sub
Korumalı Overrides Sub OnForeColorChanged (System.EventArgs ByVal e As)
MyBase.OnForeColorChanged (e)
txtbox.ForeColor = ForeColor
() Geçersiz
End Sub
Korumalı Overrides Sub OnFontChanged (System.EventArgs ByVal e As)
MyBase.OnFontChanged (e)
txtbox.Font = Yazı
End Sub
Korumalı Overrides Sub OnGotFocus (System.EventArgs ByVal e As)
MyBase.OnGotFocus (e)
txtbox.Focus ()
End Sub
Alt TextChngTxtBox () txtbox.TextChanged Kolları
Text = txtbox.Text
End Sub
Alt TextChng () MyBase.TextChanged Kolları
txtbox.Text = Metin
End Sub
#end Bölge
Korumalı Overrides Sub WndProc (Message gibi ByRef m)
Vaka m.Msg seçin
Vaka 15
() Geçersiz
MyBase.WndProc (m)
Me.PaintHook ()
Çık Seç
Else Vaka
MyBase.WndProc (m)
Çık Seç
End Select
End Sub
Sub New ()
MyBase.New ()
Controls.Add (txtbox)
Txtbox ile
.Multiline = False
.BackColor = Color.FromArgb (0, 0, 0)
.ForeColor = ForeColor
.Text = String.Empty
.TextAlign = HorizontalAlignment.Center
.BorderStyle = BorderStyle.None
.location = Yeni Noktası (5, 8)
.Font = Yeni Font ("Arial", 8.25F, FontStyle.BOLD)
.Size = Yeni Boyut (Genişlik - 8, Yükseklik - 11)
.UseSystemPasswordChar = UseSystemPasswordChar
End With
Text = ""
DoubleBuffered = True
End Sub
) (Sub PaintHook geçersiz kılar
Me.BackColor = Color.White
G.Clear (Parent.BackColor)
Yeni Kalem gibi s Dim (Color.FromArgb (204, 204, 204), 1)
O Dim Yeni Kalem gibi (Color.FromArgb (249, 249, 249), 8)
G.FillPath (Brushes.White, Draw.RoundRect (Yeni Dikdörtgen (0, 0, Genişlik - 1, Yükseklik - 1), 2))
G.DrawPath (o, Draw.RoundRect (Yeni Dikdörtgen (0, 0, Genişlik - 1, Yükseklik - 1), 2))
G.DrawPath (p, Draw.RoundRect (Yeni Dikdörtgen (0, 0, Genişlik - 1, Yükseklik - 1), 2))
Height = txtbox.Height + 16
Yeni Yazı ("Tahoma", 9, FontStyle.REGULAR) olarak drawFont Dim
Txtbox ile
.Width = Genişliği - 12
.ForeColor = Color.FromArgb (72, 72, 72)
.Font = DrawFont
.TextAlign = TextAlignment
.UseSystemPasswordChar = UseSystemPasswordChar
End With
DrawCorners (Parent.BackColor, ClientRectangle)
End Sub
End Class
Sınıf PanelBox
Inherits ThemeContainerControl
As Boolean Private _Checked
Sub New ()
AllowTransparent ()
End Sub
) (Sub PaintHook geçersiz kılar
Me.Font = Yeni Font ("Tahoma", 10)
Me.ForeColor = Color.FromArgb (40, 40, 40)
G.SmoothingMode = SmoothingMode.AntiAlias
G.FillRectangle (Yeni SolidBrush (Color.FromArgb (235, 235, 235)), Yeni Dikdörtgen (2, 0, Genişlik, Yükseklik))
G.FillRectangle (Yeni SolidBrush (Color.FromArgb (249, 249, 249)), Yeni Dikdörtgen (1, 0, Genişlik - 3, Yükseklik - 4))
G.DrawRectangle (Yeni Kalem (Color.FromArgb (214, 214, 214)), 0, 0, Genişlik - 2, Yükseklik - 3)
End Sub
End Class
Sınıf GroupDropBox
Inherits ThemeContainerControl
As Boolean Private _Checked
As Integer Private X
As Integer Private y
Boyutu itibariyle özel _OpenedSize
Public Property As Boolean Kontrol
Almak
Dönüş _Checked
Get End
Set (As Boolean ByVal V)
_Checked = V
() Geçersiz
Bitiş Seti
End Property
Public Property OpenSize olarak Boyutu
Almak
Dönüş _OpenedSize
Get End
Set(ByVal V As Size)
_OpenedSize = V
() Geçersiz
Bitiş Seti
End Property
Sub New ()
AllowTransparent ()
Size = Yeni Boyut (90, 30)
MinimumSize = New Size(5, 30)
= True _Checked
End Sub
) (Sub PaintHook geçersiz kılar
Me.Font = Yeni Font ("Tahoma", 10)
Me.ForeColor = Color.FromArgb (40, 40, 40)
_Checked Sonra = True ise
G.SmoothingMode = SmoothingMode.AntiAlias
G.Clear (Color.FromArgb (245, 245, 245))
G.FillRectangle (Yeni SolidBrush (Color.FromArgb (231, 231, 231)), Yeni Dikdörtgen (0, 0, Genişlik, 30))
G.DrawLine (Yeni Kalem (Color.FromArgb (233, 238, 240)), 1, 1, Genişlik - 2, 1)
G.DrawRectangle (Yeni Kalem (Color.FromArgb (214, 214, 214)), 0, 0, Genişlik - 1, Yükseklik - 1)
G.DrawRectangle (Yeni Kalem (Color.FromArgb (214, 214, 214)), 0, 0, Genişlik - 1, 30),
Me.Size = _OpenedSize
G.DrawString ("t" Yeni yazı tipi ("Marlett", 12), yeni SolidBrush (Me.ForeColor), Genişlik - 25, 5)
Başka
G.SmoothingMode = SmoothingMode.AntiAlias
G.Clear (Color.FromArgb (245, 245, 245))
G.FillRectangle (Yeni SolidBrush (Color.FromArgb (231, 231, 231)), Yeni Dikdörtgen (0, 0, Genişlik, 30))
G.DrawLine (Yeni Kalem (Color.FromArgb (231, 236, 238)), 1, 1, Genişlik - 2, 1)
G.DrawRectangle (Yeni Kalem (Color.FromArgb (214, 214, 214)), 0, 0, Genişlik - 1, Yükseklik - 1)
G.DrawRectangle (Yeni Kalem (Color.FromArgb (214, 214, 214)), 0, 0, Genişlik - 1, 30),
Me.Size = Yeni Boyut (Genişlik, 30)
G.DrawString ("u" Yeni Font ("Marlett", 12), Yeni SolidBrush (Me.ForeColor), Genişlik - 25, 5)
End If
G.DrawString (Metin, Yazı, Yeni SolidBrush (Me.ForeColor), 7, 6)
End Sub
Private Sub meResize (As Object ByVal sender, System.EventArgs ByVal e As) Me.Resize Kolları
_Checked Sonra = True ise
_OpenedSize = Me.Size
Başka
End If
End Sub
Korumalı Overrides Sub OnMouseMove (ByVal e As System.Windows.Forms.MouseEventArgs)
MyBase.OnMouseMove (e)
X = eX
y = keşfedilmiştir
() Geçersiz
End Sub
Alt changeCheck () Me.MouseDown Kolları
X> = Genişlik ise - 22 O
Y <Eğer = 30 Ardından
Select Case Kontrol
Vaka Gerçek
İşaretli = False
Yanlış Vaka
İşaretli = True
End Select
End If
End If
End Sub
End Class
Sınıf GroupPanelBox
Inherits ThemeContainerControl
As Boolean Private _Checked
Sub New ()
AllowTransparent ()
End Sub
) (Sub PaintHook geçersiz kılar
Me.Font = Yeni Font ("Tahoma", 10)
Me.ForeColor = Color.FromArgb (40, 40, 40)
G.SmoothingMode = SmoothingMode.AntiAlias
G.Clear (Color.FromArgb (245, 245, 245))
G.FillRectangle (Yeni SolidBrush (Color.FromArgb (231, 231, 231)), Yeni Dikdörtgen (0, 0, Genişlik, 30))
G.DrawLine (Yeni Kalem (Color.FromArgb (233, 238, 240)), 1, 1, Genişlik - 2, 1)
G.DrawRectangle (Yeni Kalem (Color.FromArgb (214, 214, 214)), 0, 0, Genişlik - 1, Yükseklik - 1)
G.DrawRectangle (Yeni Kalem (Color.FromArgb (214, 214, 214)), 0, 0, Genişlik - 1, 30),
G.DrawString (Metin, Yazı, Yeni SolidBrush (Me.ForeColor), 7, 6)
End Sub
End Class
Sınıf ButtonGreen
Inherits ThemeControl
) (Sub PaintHook geçersiz kılar
Me.Font = Yeni Font ("Arial", 10)
G.Clear (Me.BackColor)
G.SmoothingMode = SmoothingMode.HighQuality
Vaka MouseState seçin
Vaka State.MouseNone
Yeni Kalem gibi s Dim (Color.FromArgb (120, 159, 22), 1)
Yeni LinearGradientBrush (ClientRectangle, Color.FromArgb (157, 209, 57), Color.FromArgb (130, 181, 18), LinearGradientMode.Vertical) Dim X
G.FillPath (x, Draw.RoundRect (ClientRectangle, 4))
G.DrawPath (p, Draw.RoundRect (Yeni Dikdörtgen (0, 0, Genişlik - 1, Yükseklik - 1), 3))
G.DrawLine (Yeni Kalem (Color.FromArgb (190, 232, 109)), 2, 1, Genişlik - 3, 1)
DrawText (HorizontalAlignment.Center, Color.FromArgb (240, 240, 240), 0)
Vaka State.MouseDown
Yeni Kalem gibi s Dim (Color.FromArgb (120, 159, 22), 1)
Yeni LinearGradientBrush (ClientRectangle, Color.FromArgb (125, 171, 25), Color.FromArgb (142, 192, 40), LinearGradientMode.Vertical) Dim X
G.FillPath (x, Draw.RoundRect (ClientRectangle, 4))
G.DrawPath (p, Draw.RoundRect (Yeni Dikdörtgen (0, 0, Genişlik - 1, Yükseklik - 1), 3))
G.DrawLine (Yeni Kalem (Color.FromArgb (142, 172, 30)) 2, 1, Genişlik - 3, 1)
DrawText (HorizontalAlignment.Center, Color.FromArgb (250, 250, 250), 1)
Vaka State.MouseOver
Yeni Kalem gibi s Dim (Color.FromArgb (120, 159, 22), 1)
Yeni LinearGradientBrush (ClientRectangle, Color.FromArgb (165, 220, 59), Color.FromArgb (137, 191, 18), LinearGradientMode.Vertical) Dim X
G.FillPath (x, Draw.RoundRect (ClientRectangle, 4))
G.DrawPath (p, Draw.RoundRect (Yeni Dikdörtgen (0, 0, Genişlik - 1, Yükseklik - 1), 3))
G.DrawLine (Yeni Kalem (Color.FromArgb (190, 232, 109)), 2, 1, Genişlik - 3, 1)
DrawText (HorizontalAlignment.Center, Color.FromArgb (240, 240, 240), -1)
End Select
Me.Cursor = Cursors.Hand
End Sub
End Class
Sınıf ButtonBlue
Inherits ThemeControl
) (Sub PaintHook geçersiz kılar
Me.Font = Yeni Font ("Arial", 10)
G.Clear (Me.BackColor)
G.SmoothingMode = SmoothingMode.HighQuality
Vaka MouseState seçin
Vaka State.MouseNone
Yeni Kalem gibi s Dim (Color.FromArgb (34, 112, 171), 1)
Yeni LinearGradientBrush (ClientRectangle, Color.FromArgb (51, 159, 231), Color.FromArgb (33, 128, 206), LinearGradientMode.Vertical) Dim X
G.FillPath (x, Draw.RoundRect (ClientRectangle, 4))
G.DrawPath (p, Draw.RoundRect (Yeni Dikdörtgen (0, 0, Genişlik - 1, Yükseklik - 1), 3))
G.DrawLine (Yeni Kalem (Color.FromArgb (131, 197, 241)), 2, 1, Genişlik - 3, 1)
DrawText (HorizontalAlignment.Center, Color.FromArgb (240, 240, 240), 0)
Vaka State.MouseDown
Yeni Kalem gibi s Dim (Color.FromArgb (34, 112, 171), 1)
Yeni LinearGradientBrush (ClientRectangle, Color.FromArgb (37, 124, 196), Color.FromArgb (53, 153, 219), LinearGradientMode.Vertical) Dim X
G.FillPath (x, Draw.RoundRect (ClientRectangle, 4))
G.DrawPath (p, Draw.RoundRect (Yeni Dikdörtgen (0, 0, Genişlik - 1, Yükseklik - 1), 3))
DrawText (HorizontalAlignment.Center, Color.FromArgb (250, 250, 250), 1)
Vaka State.MouseOver
Yeni Kalem gibi s Dim (Color.FromArgb (34, 112, 171), 1)
Yeni LinearGradientBrush (ClientRectangle, Color.FromArgb (54, 167, 243), Color.FromArgb (35, 165, 217), LinearGradientMode.Vertical) Dim X
G.FillPath (x, Draw.RoundRect (ClientRectangle, 4))
G.DrawPath (p, Draw.RoundRect (Yeni Dikdörtgen (0, 0, Genişlik - 1, Yükseklik - 1), 3))
G.DrawLine (Yeni Kalem (Color.FromArgb (131, 197, 241)), 2, 1, Genişlik - 3, 1)
DrawText (HorizontalAlignment.Center, Color.FromArgb (240, 240, 240), -1)
End Select
Me.Cursor = Cursors.Hand
End Sub
End Class
2.TEMA KODLAR
'Www.kodyuvasi.com
İthalat Sistemi, System.IO, System.Collections.Generic
İthalat System.Drawinggörüntü, System.Drawing.Drawing2D
İthalat System.ComponentModel, System.Windows.Forms
İthalat System.Runtime.ınteropservices
İthalat System.Drawing.Imaging
İthalat System.Windows.Forms.TabControl
İthalat System.ComponentModel.Design
#Region "THEMEBASE"
MustInherit Sınıf ThemeContainer154
Inherits ContainerControl
#Region "Başlatma"
Grafik, Bitmap Olarak B olarak G Korumalı
Sub New ()
SetStyle (DirectCast (139.270, ControlStyles), True)
_ImageSize = Size.Empty
Font = Yeni Font ("Verdana", 8S)
MeasureBitmap = Yeni Bitmap (1, 1)
MeasureGraphics = Graphics.FromImage (MeasureBitmap)
DrawRadialPath = Yeni GraphicsPath
InvalidateCustimization ()
End Sub
Korumalı NotOverridable Overrides Sub OnHandleCreated (EventArgs ByVal e As)
) (DoneCreation Sonra InitializeMessages halinde
InvalidateCustimization ()
ColorHook ()
Değil _LockWidth Eğer = 0 Sonra Genişliği = _LockWidth
Değil _LockHeight = 0 Sonra Yükseklik = _LockHeight ise
Değil _ControlMode O MyBase.Dock = DockStyle.Fill halinde
Şeffaf = _Transparent
_Transparent AndAlso _BackColor sonra ArkaRenk = Color.Transparent halinde
MyBase.OnHandleCreated (e)
End Sub
As Boolean Private DoneCreation
Korumalı NotOverridable Overrides Sub OnParentChanged (EventArgs ByVal e As)
MyBase.OnParentChanged (e)
Ana şey Sonra İade mı varsa
_IsParentForm = TypeOf Veli Formu mi
Sonra Değil _ControlMode ise
InitializeMessages ()
Sonra _IsParentForm Eğer
ParentForm.FormBorderStyle = _BorderStyle
ParentForm.TransparencyKey = _TransparencyKey
Sonra Değil DesignMode ise
AddHandler ParentForm.Shown, AddressOf FormShown
End If
End If
Parent.BackColor = BackColor
End If
OnCreation ()
DoneCreation = True
InvalidateTimer ()
End Sub
#end Bölge
Private Sub DoAnimation (As Boolean ByVal i)
OnAnimation ()
) (I Sonra Invalidate ise
End Sub
Korumalı NotOverridable Overrides Sub OnPaint (PaintEventArgs ByVal e As)
Genişliği = 0 OrElse Yükseklik = 0 Sonra Dönüşü ise
Daha sonra _Transparent AndAlso _ControlMode halinde
PaintHook ()
e.Graphics.DrawImage (B, 0, 0)
Başka
G = e.Graphics
PaintHook ()
End If
End Sub
Korumalı Overrides Sub OnHandleDestroyed (EventArgs ByVal e As)
RemoveAnimationCallback (AddressOf DoAnimation)
MyBase.OnHandleDestroyed (e)
End Sub
As Boolean Private HasShown
Private Sub FormShown (EventArgs gibi As Object ByVal sender, ByVal e)
_ControlMode OrElse Sonra HasShown dön eğer
_StartPosition = FormStartPosition.CenterParent OrElse _StartPosition = FormStartPosition.CenterScreen Sonra ise
SB zamanda Dikdörtgen = Screen.PrimaryScreen.Bounds Dim
Dikdörtgen = ParentForm.Bounds Dim CB
ParentForm.Location = Yeni Nokta (SB.Width \ 2 - CB.Width \ 2, SB.Height \ 2 - CB.Width \ 2)
End If
HasShown = True
End Sub
#Region "Boyut Kullanma"
Dikdörtgen olarak özel Çerçeve
Korumalı NotOverridable Overrides Sub OnSizeChanged (EventArgs ByVal e As)
Daha sonra _Movable AndAlso değil _ControlMode halinde
Kare = Yeni Dikdörtgen (7, 7, Genişlik - 14 _Header - 7)
End If
InvalidateBitmap ()
() Geçersiz
MyBase.OnSizeChanged (e)
End Sub
Korumalı Overrides Sub SetBoundsCore (ByVal x Integer, Integer olarak ByVal y As Integer, ByVal genişliği, BoundsSpecified olarak belirtilen Integer, ByVal olarak ByVal yüksekliği gibi)
Değil _LockWidth Eğer = 0 Sonra width = _LockWidth
Değil _LockHeight = 0, daha sonra yüksekliğin = _LockHeight halinde
MyBase.SetBoundsCore (x, y, genişlik, yükseklik, belirtilen)
End Sub
#end Bölge
#Region "Devlet Kullanma"
MouseState olarak Korumalı Devlet
Private Sub setstate (MouseState ByVal hafta)
Devlet = güncel
() Geçersiz
End Sub
Korumalı Overrides Sub OnMouseMove (MouseEventArgs ByVal e As)
Yoksa (_IsParentForm AndAlso ParentForm.WindowState = FormWindowState.Maximized) Daha sonra
Eğer _Sizable AndAlso değil _ControlMode sonra InvalidateMouse ()
End If
MyBase.OnMouseMove (e)
End Sub
Korumalı Overrides Sub OnEnabledChanged (EventArgs ByVal e As)
Etkin ise Sonra setstate (MouseState.None) Else setstate (MouseState.Block)
MyBase.OnEnabledChanged (e)
End Sub
Korumalı Overrides Sub OnMouseEnter (EventArgs ByVal e As)
Setstate (MouseState.Over)
MyBase.OnMouseEnter (e)
End Sub
Korumalı Overrides Sub OnMouseUp (MouseEventArgs ByVal e As)
Setstate (MouseState.Over)
MyBase.OnMouseUp (e)
End Sub
Korumalı Overrides Sub OnMouseLeave (EventArgs ByVal e As)
Setstate (MouseState.None)
GetChildAtPoint (PointToClient (MousePosition)) Sonra Hiçbir Şey IsNot ise
Daha sonra _Sizable AndAlso değil _ControlMode halinde
= Cursors.Default İmleç
Önceki = 0
End If
End If
MyBase.OnMouseLeave (e)
End Sub
Korumalı Overrides Sub OnMouseDown (MouseEventArgs ByVal e As)
E.Button = Windows.Forms.MouseButtons.Left Sonra setstate (MouseState.Down) ise
Yoksa (_IsParentForm AndAlso ParentForm.WindowState = FormWindowState.Maximized OrElse _ControlMode) Daha sonra
Eğer _Movable AndAlso Frame.Contains (e.Location) Daha sonra
Yakalama = False
WM_LMBUTTONDOWN = True
DefWndProc (Mesajlar (0))
ElseIf _Sizable AndAlso Önceki Değil Sonra = 0
Yakalama = False
WM_LMBUTTONDOWN = True
DefWndProc (Mesajlar (Önceki))
End If
End If
MyBase.OnMouseDown (e)
End Sub
As Boolean Private WM_LMBUTTONDOWN
Korumalı Overrides Sub WndProc (Message gibi ByRef m)
MyBase.WndProc (m)
Sonra WM_LMBUTTONDOWN AndAlso m.Msg ise = 513
WM_LMBUTTONDOWN = False
Setstate (MouseState.Over)
Sonra Değil _SmartBounds İade durumunda
Sonra IsParentMdi Eğer
CorrectBounds (Yeni Dikdörtgen (Point.Empty, Parent.Parent.Size))
Başka
CorrectBounds (Screen.FromControl (Parent) .WorkingArea)
End If
End If
End Sub
Nokta gibi özel GetIndexPoint
Özel B1, B2, B3, As Boolean B4
As Integer Private Function GetIndex ()
GetIndexPoint = PointToClient (MousePosition)
B 1 = GetIndexPoint.X <7
B2 = GetIndexPoint.X> Genişlik - 7
B3 = GetIndexPoint.Y <7
B4 = GetIndexPoint.Y> Yükseklik - 7
B1 AndAlso B3 varsa Sonra 4 Dönüş
B1 AndAlso B4 ise Sonra 7 Dönüş
B2 AndAlso B3 ise Sonra 5 Dönüş
B2 AndAlso B4 ise Sonra 8 Dönüş
B1 Sonra 1 Dönüş ise
B2 Sonra 2 Dönüş ise
B3 Sonra 3 Dönüş ise
B4 Sonra 6 dön eğer
0 Dönüş
End Function
Özel Cari Önceki As Integer
Private Sub InvalidateMouse ()
Mevcut = GetIndex ()
Güncel = Önceki Sonra Dönüşü ise
Önceki = Güncel
Vaka Önceki seçin
Case 0
= Cursors.Default İmleç
Olgu 1, 2
= Cursors.SizeWE İmleç
Olgu 3, 6
= Cursors.SizeNS İmleç
Olgu 4, 8
= Cursors.SizeNWSE İmleç
Olgu 5, 7
= Cursors.SizeNESW İmleç
End Select
End Sub
Mesaj olarak Özel Mesajlar (8)
Private Sub InitializeMessages ()
Mesajları (0) = Message.Create (Parent.Handle, 161, yeni ıntptr (2), IntPtr.Zero)
Ben As Integer = 1 8 için için
Mesajları (I) '= Message.Create (Parent.Handle, 161, yeni ıntptr (I + 9), IntPtr.Zero)
Sonraki
End Sub
Private Sub CorrectBounds (Dikdörtgen ByVal sınırları)
Parent.Width> bounds.Width sonra Parent.Width = bounds.Width halinde
Parent.Height> bounds.Height sonra Parent.Height = bounds.Height halinde
Tamsayı = Parent.Location.X zamanda X Dim
Integer = Parent.Location.Y olarak Y Dim
X <bounds.X X = bounds.X halinde
Y, <bounds.Y O zaman, Y = bounds.Y halinde
Genişliği Dim As Integer = bounds.X + bounds.Width
As Integer Dim Yükseklik = bounds.Y + bounds.Height
Parent.Width - X + Parent.Width> Genişliği Sonra X = Genişliği ise
Parent.Height - Y + Parent.Height> Boy Sonra Y = Yükseklik ise
Parent.Location = Yeni noktası (X, Y)
End Sub
#end Bölge
#Region "Baz Özellikleri"
Overrides Mülkiyet dock gibi DockStyle
Almak
Dönüş MyBase.Dock
Get End
Set (DockStyle ByVal değeri)
Değil Sonra _ControlMode dön eğer
MyBase.Dock = değer
Bitiş Seti
End Property
As Boolean Private _BackColor
<Kategori ("Çeşitli")> _
Renk olarak Overrides Mülkiyet ArkaRenk ()
Almak
Dönüş MyBase.BackColor
Get End
Set (Color ByVal değeri)
Sonra değeri = MyBase.BackColor İade durumunda
Daha sonra değil IsHandleCreated AndAlso _ControlMode AndAlso değeri = Color.Transparent halinde
_BackColor = True
Dönüş
End If
MyBase.BackColor = değer
Ana Sonra hiçbir şey IsNot ise
Eğer Değil _ControlMode Sonra Parent.BackColor = değer
ColorHook ()
End If
Bitiş Seti
End Property
Overrides Emlak MinimumSize olarak Boyutu
Almak
Dönüş MyBase.MinimumSize
Get End
Set (Boyut olarak ByVal değeri)
MyBase.MinimumSize = value
Veli Hiçbir şey IsNot varsa Sonra Parent.MinimumSize = değer
Bitiş Seti
End Property
Overrides Emlak MaximumSize olarak Boyutu
Almak
Dönüş MyBase.MaximumSize
Get End
Set (Boyut olarak ByVal değeri)
MyBase.MaximumSize = değer
Veli Hiçbir şey IsNot varsa Sonra Parent.MaximumSize = değer
Bitiş Seti
End Property
As String Overrides Mülkiyet Metin ()
Almak
Dönüş MyBase.Text
Get End
Set (As String ByVal değeri)
MyBase.Text = değer
() Geçersiz
Bitiş Seti
End Property
Yazı şöyle Overrides Mülkiyet Font ()
Almak
Dönüş MyBase.Font
Get End
Set (Yazı ByVal değeri)
MyBase.Font = değer
() Geçersiz
Bitiş Seti
End Property
<Browsable (Yanlış), EditorBrowsable (EditorBrowsableState.Never), DesignerSerializationVisibility (DesignerSerializationVisibility.Hidden)> _
Renk olarak Overrides Mülkiyet ForeColor ()
Almak
Dönüş Color.Empty
Get End
Set (Color ByVal değeri)
Bitiş Seti
End Property
<Browsable (Yanlış), EditorBrowsable (EditorBrowsableState.Never), DesignerSerializationVisibility (DesignerSerializationVisibility.Hidden)> _
Görüntü olarak Overrides Mülkiyet Backgroundımage ()
Almak
Hiçbir şey Dönüş
Get End
Set (As Image ByVal değeri)
Bitiş Seti
End Property
<Browsable (Yanlış), EditorBrowsable (EditorBrowsableState.Never), DesignerSerializationVisibility (DesignerSerializationVisibility.Hidden)> _
ImageLayout gibi Overrides Mülkiyet BackgroundImageLayout ()
Almak
Dönüş ImageLayout.None
Get End
Set (ImageLayout ByVal değeri)
Bitiş Seti
End Property
#end Bölge
#Region "Genel Özellikler"
Özel _SmartBounds Boole = true olarak
Mülkiyet SmartBounds () As Boolean
Almak
Dönüş _SmartBounds
Get End
Set (As Boolean ByVal değeri)
_SmartBounds = Değer
Bitiş Seti
End Property
As Boolean Private _Movable = true
As Boolean Property Taşınır ()
Almak
Dönüş _Movable
Get End
Set (As Boolean ByVal değeri)
_Movable = Değer
Bitiş Seti
End Property
As Boolean Private _Sizable = true
As Boolean oldukça büyük bir Property ()
Almak
Dönüş _Sizable
Get End
Set (As Boolean ByVal değeri)
_Sizable = Değer
Bitiş Seti
End Property
Renk olarak özel _TransparencyKey
Renk olarak Property TransparencyKey ()
Almak
_IsParentForm AndAlso değil _ControlMode Else Sonra İade ParentForm.TransparencyKey dön _TransparencyKey ise
Get End
Set (Color ByVal değeri)
Sonra değeri = _TransparencyKey İade durumunda
_TransparencyKey = Değer
Daha sonra _IsParentForm AndAlso değil _ControlMode halinde
ParentForm.TransparencyKey = değer
ColorHook ()
End If
Bitiş Seti
End Property
FormBorderStyle gibi özel _BorderStyle
FormBorderStyle gibi Property BorderStyle ()
Almak
_IsParentForm AndAlso değil _ControlMode Else Sonra İade ParentForm.FormBorderStyle dön _BorderStyle ise
Get End
Set (FormBorderStyle ByVal değeri)
_BorderStyle = Değer
Daha sonra _IsParentForm AndAlso değil _ControlMode halinde
ParentForm.FormBorderStyle = değer
Sonra Değil değeri = FormBorderStyle.None ise
Yanlış = Hareketli
Büyükçe = False
End If
End If
Bitiş Seti
End Property
FormStartPosition gibi özel _StartPosition
Mülkiyet StartPosition olarak FormStartPosition
Almak
_IsParentForm AndAlso değil _ControlMode Else Sonra İade ParentForm.StartPosition dön _StartPosition ise
Get End
Set (FormStartPosition ByVal değeri)
_StartPosition = Değer
Daha sonra _IsParentForm AndAlso değil _ControlMode halinde
ParentForm.StartPosition = değer
End If
Bitiş Seti
End Property
As Boolean Private _NoRounding
As Boolean Property NoRounding ()
Almak
Dönüş _NoRounding
Get End
Set (As Boolean ByVal v)
_NoRounding = H
() Geçersiz
Bitiş Seti
End Property
Özel _Image gibi Görüntü
Mülkiyet Görüntü () As Image
Almak
Dönüş _Image
Get End
Set (As Image ByVal değeri)
Değeri bir şey var mı varsa Sonra _ImageSize = Size.Empty Else _ImageSize = value.Size
_Image = Değer
() Geçersiz
Bitiş Seti
End Property
(Dize, Color Of) Yeni Dictionary gibi özel ürünler
Mülkiyet Renkler () Bloom gibi ()
Almak
Yeni Liste Olarak Dim T (Bloom Of)
(String, Renk) Sözlük Dim E .Enumerator = Items.GetEnumerator
E.MoveNext iken
T.Add (Yeni Bloom (E.Current.Key, E.Current.Value))
End While
Dönüş T.ToArray
Get End
Set (Bloom gibi ByVal değeri ())
Bloom yılında değer olarak her B
Items.ContainsKey (B.Name) Sonra Öğeler (B.Name) = B.Value ise
Sonraki
InvalidateCustimization ()
ColorHook ()
() Geçersiz
Bitiş Seti
End Property
As String Private _Customization
As String Mülkiyet Özelleştirme ()
Almak
Dönüş _Customization
Get End
Set (As String ByVal değeri)
Değeri = _Customization Sonra Dönüşü ise
As Byte Dim veri ()
Dim Öğeler Bloom () Renkler = gibi
Denemek
Veri = Convert.FromBase64String (değer)
Ben As Integer = 0 Items.Length için için - 1
Öğeler (I) .Value = Color.FromArgb (BitConverter.ToInt32 (Data, * 4))
Sonraki
Yakalamak
Dönüş
End Try
_Customization = Değer
Renkler = Öğeler
ColorHook ()
() Geçersiz
Bitiş Seti
End Property
As Boolean Private _Transparent
As Boolean Şeffaf Property ()
Almak
Dönüş _Transparent
Get End
Set (As Boolean ByVal değeri)
_Transparent = Değer
Değil (IsHandleCreated OrElse _ControlMode) Sonra Dönüşü ise
Sonra AndAlso değil BackColor.A = 255 değer değil ise
("Şeffaf ArkaRenk kullanımda iken false değerini değiştirmek için açılamıyor.") Yeni İstisna atmak
End If
SetStyle (ControlStyles.Opaque Değil, değer)
SetStyle (ControlStyles.SupportsTransparentBackColor, değer)
InvalidateBitmap ()
() Geçersiz
Bitiş Seti
End Property
#end Bölge
#Region "Özel Özellikler"
Boyutu itibariyle özel _ImageSize
Boyutu itibariyle Korumalı ReadOnly özelliği ImageSize ()
Almak
Dönüş _ImageSize
Get End
End Property
As Boolean Private _IsParentForm
ReadOnly özelliği IsParentForm As Boolean Korumalı
Almak
Dönüş _IsParentForm
Get End
End Property
ReadOnly özelliği IsParentMdi As Boolean Korumalı
Almak
Veli ise, hiçbir Sonra Yanlış Dönüş
Parent.Parent IsNot Hiçbir şey Dönüş
Get End
End Property
As Integer Private _LockWidth
Mülkiyet LockWidth () As Integer Korumalı
Almak
Dönüş _LockWidth
Get End
Set (As Integer ByVal değeri)
_LockWidth = Değer
Değil LockWidth = 0 AndAlso IsHandleCreated sonra genişlik = LockWidth halinde
Bitiş Seti
End Property
As Integer Private _LockHeight
Mülkiyet LockHeight () As Integer Korumalı
Almak
Dönüş _LockHeight
Get End
Set (As Integer ByVal değeri)
_LockHeight = Değer
Değil LockHeight = 0 AndAlso IsHandleCreated sonra Yükseklik = LockHeight halinde
Bitiş Seti
End Property
Integer = 24 gibi özel _Header
Mülkiyet başlığı () As Integer Korumalı
Almak
Dönüş _Header
Get End
Set (As Integer ByVal v)
_Header = H
Sonra Değil _ControlMode ise
Kare = Yeni Dikdörtgen (7, 7, Genişlik - 14 v - 7)
() Geçersiz
End If
Bitiş Seti
End Property
As Boolean Private _ControlMode
As Boolean Korumalı Mülkiyet ControlMode ()
Almak
Dönüş _ControlMode
Get End
Set (As Boolean ByVal v)
V = _ControlMode
Şeffaf = _Transparent
_Transparent AndAlso _BackColor sonra ArkaRenk = Color.Transparent halinde
InvalidateBitmap ()
() Geçersiz
Bitiş Seti
End Property
As Boolean Private _IsAnimated
As Boolean Korumalı Mülkiyet IsAnimated ()
Almak
Dönüş _IsAnimated
Get End
Set (As Boolean ByVal değeri)
_IsAnimated Değeri =
InvalidateTimer ()
Bitiş Seti
End Property
#end Bölge
#Region "Mülkiyet Yardımcılar"
Kalem gibi Korumalı Fonksiyon GetPen (As String ByVal name)
Dönüş Yeni Kalem (Öğeler (isim))
End Function
Kalem gibi Korumalı Fonksiyon GetPen (dize, As Single ByVal genişliği gibi ByVal name)
Dönüş Yeni Kalem (Öğeler (isim), genişlik)
End Function
SolidBrush gibi Korumalı Fonksiyon GetBrush (As String ByVal name)
Dönüş Yeni SolidBrush (Öğeler (isim))
End Function
Renk olarak Korumalı Fonksiyon GetColor (As String ByVal name)
Dönüş Öğeler (isim)
End Function
Korumalı Alt SetColor (As String ByVal isim, Renk olarak ByVal değeri)
Eğer Items.ContainsKey (isim) Sonra Öğeler (isim) = değer Else resi (ad, değer)
End Sub
Korumalı Alt SetColor (As String ByVal isim, As Byte ByVal r, As Byte ByVal g As Byte, ByVal b)
SetColor (ad, Color.FromArgb (R, G, B))
End Sub
Korumalı Alt SetColor (String ByVal bir olarak Byte, Byte olarak ByVal r, ByVal isim ByVal g Byte, Byte olarak ByVal b gibi)
SetColor (ad, Color.FromArgb (A, R, G, B))
End Sub
Korumalı Alt SetColor (String ByVal olarak ByVal adı olarak Byte, Renk olarak ByVal değeri)
SetColor (isim, Color.FromArgb (a, değer))
End Sub
Private Sub InvalidateBitmap ()
Daha sonra _Transparent AndAlso _ControlMode halinde
Genişliği = 0 OrElse Yükseklik = 0 Sonra Dönüşü ise
B = Yeni Bitmap (Genişlik, Yükseklik, PixelFormat.Format32bppPArgb)
G = Graphics.FromImage (B)
Başka
G Hiçbir şey =
B = Nothing
End If
End Sub
Private Sub InvalidateCustimization ()
Yeni MemoryStream gibi M Dim (Items.Count * 4)
Renkler Bloom gibi Her B
M.Write (BitConverter.GetBytes (B.Value.ToArgb), 0, 4)
Sonraki
M.Close ()
_Customization = Convert.ToBase64String (M.ToArray)
End Sub
Private Sub InvalidateTimer ()
DesignMode OrElse değil Sonra DoneCreation dön eğer
Sonra _IsAnimated Eğer
AddAnimationCallback (AddressOf DoAnimation)
Başka
RemoveAnimationCallback (AddressOf DoAnimation)
End If
End Sub
#end Bölge
#Region "Kullanıcı Hooks"
Korumalı MustOverride Alt ColorHook ()
Korumalı MustOverride Alt PaintHook ()
Korumalı Overridable Sub OnCreation ()
End Sub
Korumalı Overridable Sub OnAnimation ()
End Sub
#end Bölge
#Region "Ofset"
Özel OffsetReturnRectangle gibi Dikdörtgen
Ofset Korumalı Fonksiyon Dikdörtgen gibi (Dikdörtgen olarak ByVal r As Integer, ByVal tutar)
OffsetReturnRectangle = Yeni Dikdörtgen (rX + miktarı, rY + miktarı, r.Width - (miktar * 2), r.Height - (miktar * 2))
Dönüş OffsetReturnRectangle
End Function
Boyutu itibariyle özel OffsetReturnSize
Korumalı Fonksiyon Ofset (ByVal s As Boyut As Integer, ByVal tutar) Boyutu gibi
OffsetReturnSize = Yeni Boyut (s.Width + miktarı, s.Height + miktar)
Dönüş OffsetReturnSize
End Function
Nokta gibi özel OffsetReturnPoint
Korumalı Fonksiyon Ofset (Noktaya ByVal p As Integer, ByVal tutar) Noktası olarak
OffsetReturnPoint = Yeni Noktası (pX + miktarı, pY + miktar)
Dönüş OffsetReturnPoint
End Function
#end Bölge
#Region "Merkezi"
Özel CenterReturn gibi Noktası
Noktası olarak Korumalı Fonksiyonu Merkezi (Dikdörtgen olarak ByVal p, Dikdörtgen olarak ByVal c)
CenterReturn = Yeni Noktası ((p.Width \ 2 - c.Width \ 2) + pX + cX, (p.Height \ 2 - c.Height \ 2) + pY + cY)
Dönüş CenterReturn
End Function
Noktası olarak Korumalı Fonksiyonu Merkezi (Dikdörtgen olarak ByVal p, Boyut olarak ByVal c)
CenterReturn = Yeni Noktası ((p.Width \ 2 - c.Width \ 2) + pX, (p.Height \ 2 - c.Height \ 2) + pY)
Dönüş CenterReturn
End Function
Noktası olarak Korumalı Fonksiyonu Merkezi (Dikdörtgen ByVal çocuk)
Dönüş Merkezi (Genişlik, Yükseklik, child.Width, child.Height)
End Function
Noktası olarak Korumalı Fonksiyonu Merkezi (Boyut olarak ByVal çocuk)
Dönüş Merkezi (Genişlik, Yükseklik, child.Width, child.Height)
End Function
Korumalı Fonksiyon Center Point gibi (As Integer ByVal childWidth As Integer, ByVal childHeight)
Dönüş Merkezi (Genişlik, Yükseklik, childWidth, childHeight)
End Function
Noktası olarak Korumalı Fonksiyonu Merkezi (Boyut olarak ByVal p, Boyut olarak ByVal c)
Dönüş Merkezi (p.Width, p.Height, c.Width, c.Height)
End Function
Noktası olarak Korumalı Fonksiyonu Merkezi (As Integer ByVal pWidth As Integer, ByVal pHeight As Integer, ByVal cWidth As Integer, ByVal cHeight)
CenterReturn = Yeni Nokta (pWidth \ 2 - cWidth \ 2, pHeight \ 2 - cHeight \ 2)
Dönüş CenterReturn
End Function
#end Bölge
#Region "Tedbir"
Bitmap Olarak Özel MeasureBitmap
Grafik olarak özel MeasureGraphics
Boyutu itibariyle Korumalı Fonksiyon Ölçümü ()
SyncLock MeasureGraphics
Dönüş MeasureGraphics.MeasureString (Metin, Yazı, Genişlik) .ToSize
Bitiş SyncLock
End Function
Korumalı Fonksiyon Ölçümü Boyutu gibi (As String ByVal metin)
SyncLock MeasureGraphics
Dönüş MeasureGraphics.MeasureString (metin, yazı tipi, Genişlik) .ToSize
Bitiş SyncLock
End Function
#end Bölge
#Region "DrawPixel"
SolidBrush gibi özel DrawPixelBrush
Korumalı Alt DrawPixel (Color ByVal c1, ByVal x As Integer, ByVal y As Integer)
Sonra _Transparent Eğer
B.SetPixel (x, y, C1)
Başka
DrawPixelBrush = Yeni SolidBrush (C1)
G.FillRectangle (DrawPixelBrush, x, y, 1, 1)
End If
End Sub
#end Bölge
#Region "DrawCorners"
SolidBrush gibi özel DrawCornersBrush
Korumalı Alt DrawCorners (Color ByVal c1, ByVal As Integer ofset)
DrawCorners (c1, 0, 0, Genişlik, Yükseklik, ofset)
End Sub
Korumalı Alt DrawCorners (Color, ByVal r1 gibi Dikdörtgen, ByVal olarak ByVal c1 As Integer ofset)
DrawCorners (c1, r1.X, r1.Y, r1.Width, r1.Height, ofset)
End Sub
(X tamsayı, tamsayı, Integer, Integer olarak ByVal yüksekliği gibi ByVal genişliği arttıkça ByVal y gibi, ByVal As Integer ofset ByVal Renk olarak ByVal c1) Korumalı Alt DrawCorners
DrawCorners (C1, burada x + y, ofset + ofset, genişlik - (ofset * 2), yüksekliği - (ofset * 2))
End Sub
Korumalı Alt DrawCorners (Color ByVal c1)
DrawCorners (c1, 0, 0, Genişlik, Yükseklik)
End Sub
Korumalı Alt DrawCorners (Color ByVal c1, ByVal r1 gibi Dikdörtgen)
DrawCorners (C1, r1.X, r1.Y, r1.Width, r1.Height)
End Sub
Korumalı Alt DrawCorners (Color ByVal c1, ByVal x Integer, Integer olarak ByVal y As Integer, ByVal genişliği, As Integer ByVal yüksekliği gibi)
Sonra Return _NoRounding ise
Sonra _Transparent Eğer
B.SetPixel (x, y, C1)
B.SetPixel burada (x + (genişlik - 1), Y, C1)
B.SetPixel (x, y + (yükseklik - 1), C1)
B.SetPixel burada (x + (genişlik - 1), y + (yükseklik - 1), C1)
Başka
DrawCornersBrush = Yeni SolidBrush (C1)
G.FillRectangle (DrawCornersBrush, x, y, 1, 1)
G.FillRectangle (DrawCornersBrush, x + (genişlik - 1), y, 1, 1)
G.FillRectangle (DrawCornersBrush x, y + (yükseklik - 1), 1, 1)
G.FillRectangle (DrawCornersBrush, x + (genişlik - 1), y + (yükseklik - 1), 1, 1)
End If
End Sub
#end Bölge
#Region "DrawBorders"
Korumalı Alt DrawBorders (ByVal p1 Pen gibi, ByVal As Integer ofset)
DrawBorders (p1, 0, 0, Genişlik, Yükseklik, ofset)
End Sub
Korumalı Alt DrawBorders (ByVal p1 Kalem, Dikdörtgen olarak ByVal r gibi, ByVal As Integer ofset)
DrawBorders (P1, R x, Ry, r.Width, r.Height, ofset)
End Sub
Korumalı Alt DrawBorders (ByVal p1 Pen gibi, ByVal x Integer, Integer, Integer, Integer olarak ByVal yüksekliği gibi ByVal genişliği arttıkça ByVal y gibi, ByVal As Integer ofset)
DrawBorders (P1, burada x + y, ofset + ofset, genişlik - (ofset * 2), yüksekliği - (ofset * 2))
End Sub
Korumalı Alt DrawBorders (ByVal p1 Pen gibi)
DrawBorders (p1, 0, 0, Genişlik, Yükseklik)
End Sub
Korumalı Alt DrawBorders (ByVal p1 Pen gibi, Dikdörtgen olarak ByVal r)
DrawBorders (P1, R x, Ry, r.Width, r.Height)
End Sub
Korumalı Alt DrawBorders (ByVal p1 Pen gibi, ByVal x Integer, Integer olarak ByVal y As Integer, ByVal genişliği, As Integer ByVal yüksekliği gibi)
G.DrawRectangle (P1, x, y, genişlik - 1, yükseklik - 1)
End Sub
#end Bölge
#Region "DrawText"
Nokta gibi özel DrawTextPoint
Boyutu itibariyle özel DrawTextSize
Korumalı Alt DrawText (Fırça, ByVal olarak ByVal b1 HorizontalAlignment olarak, ByVal x Integer, Integer olarak ByVal y gibi)
DrawText (B1, metin, A, X, y)
End Sub
Korumalı Alt DrawText (Fırça, As String ByVal metin, ByVal olarak ByVal b1 HorizontalAlignment olarak, ByVal x Integer, Integer olarak ByVal y gibi)
Text.Length = 0 Sonra Dönüşü ise
DrawTextSize = Tedbir (metin)
DrawTextPoint = Yeni Nokta (Genişlik \ 2 - DrawTextSize.Width \ 2, kafa vuruşu \ 2 - DrawTextSize.Height \ 2)
Select Case a
Vaka HorizontalAlignment.Left
G.DrawString (metin, yazı tipi, b1, x DrawTextPoint.Y + y)
Neredeyse HorizontalAlignment.Center
G.DrawString (metin, yazı tipi, b1, DrawTextPoint.X + x, DrawTextPoint.Y + y)
Vaka HorizontalAlignment.Right
G.DrawString (metin, yazı tipi, b1, Genişlik - DrawTextSize.Width - x, DrawTextPoint.Y + y)
End Select
End Sub
Korumalı Alt DrawText (Fırça gibi ByVal b1, ByVal p1 noktası olarak)
Text.Length = 0 Sonra Dönüşü ise
G.DrawString (Metin, Yazı, b1, p1)
End Sub
Korumalı Alt DrawText (Fırça gibi ByVal b1, ByVal x Integer, Integer olarak ByVal y gibi)
Text.Length = 0 Sonra Dönüşü ise
G.DrawString (Metin, Yazı, b1, x, y)
End Sub
#end Bölge
#Region "DrawImage"
Nokta gibi özel DrawImagePoint
Alt DrawImage Korumalı (As a HorizontalAlignment ByVal, ByVal x Integer, Integer olarak ByVal y gibi)
DrawImage (_Image, a, x, y)
End Sub
Korumalı Alt DrawImage (As Image ByVal görüntü HorizontalAlignment ByVal bir, ByVal x Integer, Integer olarak ByVal y gibi)
Görüntü Hiçbir Sonra İade mı varsa
DrawImagePoint = Yeni Nokta (Genişlik \ 2 - image.Width \ 2, kafa vuruşu \ 2 - image.Height \ 2)
Select Case a
Vaka HorizontalAlignment.Left
G.DrawImage (görüntü, x DrawImagePoint.Y + y image.Width, image.Height)
Neredeyse HorizontalAlignment.Center
G.DrawImage (resim, DrawImagePoint.X + x, DrawImagePoint.Y + y, image.Width, image.Height)
Vaka HorizontalAlignment.Right
G.DrawImage (resim, Genişlik - image.Width - x, DrawImagePoint.Y + y, image.Width, image.Height)
End Select
End Sub
Korumalı Alt DrawImage (ByVal p1 noktası olarak)
DrawImage (_Image, p1.X, p1.y)
End Sub
Alt DrawImage Korumalı (ByVal Integer, Integer olarak ByVal y gibi x)
DrawImage (_Image, x, y)
End Sub
Korumalı Alt DrawImage (As Image ByVal görüntü, ByVal p1 noktası olarak)
DrawImage (resim, p1.X, p1.y)
End Sub
Korumalı Alt DrawImage (As Image ByVal görüntü, ByVal x Integer, Integer olarak ByVal y gibi)
Görüntü Hiçbir Sonra İade mı varsa
G.DrawImage (resim, x, y, image.Width, image.Height)
End Sub
#end Bölge
#Region "DrawGradient"
LinearGradientBrush gibi özel DrawGradientBrush
Özel DrawGradientRectangle gibi Dikdörtgen
Alt DrawGradient Korumalı (ColorBlend gibi harman ByVal, ByVal x Integer, Integer olarak ByVal y As Integer, ByVal genişliği, As Integer ByVal yüksekliği gibi)
DrawGradientRectangle = Yeni Dikdörtgen (x, y, genişlik, yükseklik)
DrawGradient (harmanı DrawGradientRectangle)
End Sub
Alt DrawGradient Korumalı (ColorBlend gibi harman ByVal, ByVal x Integer, Integer olarak ByVal y As Integer, ByVal genişliği, As Integer ByVal yüksekliği, As Single ByVal açısı gibi)
DrawGradientRectangle = Yeni Dikdörtgen (x, y, genişlik, yükseklik)
DrawGradient (harman DrawGradientRectangle, açı)
End Sub
Alt DrawGradient Korumalı (ColorBlend, Dikdörtgen olarak ByVal r gibi harman ByVal)
DrawGradientBrush = Yeni LinearGradientBrush (R, Color.Empty, Color.Empty, 90.0F)
DrawGradientBrush.InterpolationColors = harman
G.FillRectangle (DrawGradientBrush, R)
End Sub
Alt DrawGradient Korumalı (ColorBlend, Dikdörtgen olarak ByVal r, As Single ByVal açısı olarak harman ByVal)
DrawGradientBrush = Yeni LinearGradientBrush (r, Color.Empty, Color.Empty, açı)
DrawGradientBrush.InterpolationColors = harman
G.FillRectangle (DrawGradientBrush, R)
End Sub
Korumalı Alt DrawGradient (Color ByVal c1, Renk olarak ByVal c2, ByVal x Integer, Integer olarak ByVal y As Integer, ByVal genişliği, As Integer ByVal yüksekliği gibi)
DrawGradientRectangle = Yeni Dikdörtgen (x, y, genişlik, yükseklik)
DrawGradient (C1, C2, DrawGradientRectangle)
End Sub
Korumalı Alt DrawGradient (Color ByVal c1, Renk olarak ByVal c2, ByVal x Integer, Integer olarak ByVal y As Integer, ByVal genişliği, As Integer ByVal yüksekliği, As Single ByVal açısı gibi)
DrawGradientRectangle = Yeni Dikdörtgen (x, y, genişlik, yükseklik)
DrawGradient (C1, C2, DrawGradientRectangle, açı)
End Sub
Korumalı Alt DrawGradient (Color ByVal c1, Renk olarak ByVal c2, Dikdörtgen olarak ByVal r)
DrawGradientBrush = Yeni LinearGradientBrush (R, C1, C2, 90.0F)
G.FillRectangle (DrawGradientBrush, R)
End Sub
Korumalı Alt DrawGradient (Color ByVal c1, Renk olarak ByVal c2, Dikdörtgen olarak ByVal r, As Single ByVal açısı)
DrawGradientBrush = Yeni LinearGradientBrush (R, C1, C2, açı)
G.FillRectangle (DrawGradientBrush, R)
End Sub
#end Bölge
#Region "DrawRadial"
GraphicsPath gibi özel DrawRadialPath
PathGradientBrush gibi özel DrawRadialBrush1
Özel DrawRadialBrush2 olarak LinearGradientBrush
Özel DrawRadialRectangle gibi Dikdörtgen
Alt DrawRadial (ColorBlend ByVal harman, ByVal x Integer, Integer olarak ByVal y As Integer, ByVal genişliği, As Integer ByVal yüksekliği gibi)
DrawRadialRectangle = Yeni Dikdörtgen (x, y, genişlik, yükseklik)
DrawRadial (harmanı, DrawRadialRectangle, \ 2 genişlik, Yükseklik \ 2)
End Sub
Alt DrawRadial (ColorBlend ByVal harman, ByVal x Integer, Integer olarak ByVal y As Integer, ByVal genişliği, As Integer ByVal yüksekliği gibi, ByVal merkezi gibi Noktası)
DrawRadialRectangle = Yeni Dikdörtgen (x, y, genişlik, yükseklik)
DrawRadial (harman DrawRadialRectangle, center.X, center.Y)
End Sub
Alt DrawRadial (ColorBlend ByVal harman, ByVal x Integer, Integer olarak ByVal y As Integer, ByVal genişliği, As Integer ByVal yüksekliği, ByVal cx Integer, Integer olarak ByVal cy As)
DrawRadialRectangle = Yeni Dikdörtgen (x, y, genişlik, yükseklik)
DrawRadial (harman DrawRadialRectangle Cx, CY)
End Sub
Alt DrawRadial (ColorBlend ByVal karışımı, bir dikdörtgen olarak ByVal r)
DrawRadial (karışım, r r.Width \ 2, r.Height \ 2)
End Sub
Alt DrawRadial (ColorBlend, Dikdörtgen, ByVal merkezi olarak Noktaya ByVal r gibi ByVal harman)
DrawRadial (karışım, r center.X, center.Y)
End Sub
Alt DrawRadial (ColorBlend ByVal harman, Dikdörtgen olarak ByVal r As Integer, ByVal cx As Integer, ByVal cy)
DrawRadialPath.Reset ()
DrawRadialPath.AddEllipse (Rx, Ry r.Width - 1, r.Height - 1)
DrawRadialBrush1 = Yeni PathGradientBrush (DrawRadialPath)
DrawRadialBrush1.CenterPoint = Yeni Noktası (rX + cx, rY + cy)
DrawRadialBrush1.InterpolationColors = harman
G.SmoothingMode Sonra SmoothingMode.AntiAlias = Eğer
G.FillEllipse (1 + çok DrawRadialBrush1, Rx + 1, r.Width - 3, r.Height - 3)
Başka
G.FillEllipse (DrawRadialBrush1, R)
End If
End Sub
Korumalı Alt DrawRadial (Color ByVal c1, Renk olarak ByVal c2, ByVal x Integer, Integer olarak ByVal y As Integer, ByVal genişliği, As Integer ByVal yüksekliği gibi)
DrawRadialRectangle = Yeni Dikdörtgen (x, y, genişlik, yükseklik)
DrawRadial (C1, C2, DrawGradientRectangle)
End Sub
Korumalı Alt DrawRadial (Color ByVal c1, Renk olarak ByVal c2, ByVal x Integer, Integer olarak ByVal y As Integer, ByVal genişliği, As Integer ByVal yüksekliği, As Single ByVal açısı gibi)
DrawRadialRectangle = Yeni Dikdörtgen (x, y, genişlik, yükseklik)
DrawRadial (C1, C2, DrawGradientRectangle, açı)
End Sub
Korumalı Alt DrawRadial (Color ByVal c1, Renk olarak ByVal c2, Dikdörtgen olarak ByVal r)
DrawRadialBrush2 = Yeni LinearGradientBrush (R, C1, C2, 90.0F)
G.FillRectangle (DrawGradientBrush, R)
End Sub
Korumalı Alt DrawRadial (Color ByVal c1, Renk olarak ByVal c2, Dikdörtgen olarak ByVal r, As Single ByVal açısı)
DrawRadialBrush2 = Yeni LinearGradientBrush (R, C1, C2, açı)
G.FillEllipse (DrawGradientBrush, R)
End Sub
#end Bölge
#Region "CreateRound"
GraphicsPath gibi özel CreateRoundPath
Özel CreateRoundRectangle gibi Dikdörtgen
Fonksiyon CreateRound (ByVal Integer, Integer olarak ByVal y As Integer, ByVal genişliği, As Integer ByVal yüksekliği, As Integer ByVal eğimin gibi x) GraphicsPath gibi
CreateRoundRectangle = Yeni Dikdörtgen (x, y, genişlik, yükseklik)
Dönüş CreateRound (CreateRoundRectangle, eğim)
End Function
Fonksiyon CreateRound GraphicsPath gibi (Dikdörtgen olarak ByVal r As Integer, ByVal eğim)
CreateRoundPath = Yeni GraphicsPath (FillMode.Winding)
CreateRoundPath.AddArc (rX, rY, eğim, eğim, 180.0F, 90.0F)
CreateRoundPath.AddArc (r.Right - eğim, rY, eğim, eğim, 270.0F, 90.0F)
CreateRoundPath.AddArc (r.Right - eğim, r.Bottom - eğim, eğim, eğim, 0.0F, 90.0F)
CreateRoundPath.AddArc (rX, r.Bottom - eğim, eğim, eğim, 90.0F, 90.0F)
CreateRoundPath.CloseFigure ()
Dönüş CreateRoundPath
End Function
#end Bölge
End Class
MustInherit Sınıf ThemeControl154
Inherits Kontrol
#Region "Başlatma"
Grafik, Bitmap Olarak B olarak G Korumalı
Sub New ()
SetStyle (DirectCast (139.270, ControlStyles), True)
_ImageSize = Size.Empty
Font = Yeni Font ("Verdana", 8S)
MeasureBitmap = Yeni Bitmap (1, 1)
MeasureGraphics = Graphics.FromImage (MeasureBitmap)
DrawRadialPath = Yeni GraphicsPath
InvalidateCustimization () 'kaldırılsın mı?
End Sub
Korumalı NotOverridable Overrides Sub OnHandleCreated (EventArgs ByVal e As)
InvalidateCustimization ()
ColorHook ()
Değil _LockWidth Eğer = 0 Sonra Genişliği = _LockWidth
Değil _LockHeight = 0 Sonra Yükseklik = _LockHeight ise
Şeffaf = _Transparent
_Transparent AndAlso _BackColor sonra ArkaRenk = Color.Transparent halinde
MyBase.OnHandleCreated (e)
End Sub
As Boolean Private DoneCreation
Korumalı NotOverridable Overrides Sub OnParentChanged (EventArgs ByVal e As)
Ana Sonra hiçbir şey IsNot ise
OnCreation ()
DoneCreation = True
InvalidateTimer ()
End If
MyBase.OnParentChanged (e)
End Sub
#end Bölge
Private Sub DoAnimation (As Boolean ByVal i)
OnAnimation ()
) (I Sonra Invalidate ise
End Sub
Korumalı NotOverridable Overrides Sub OnPaint (PaintEventArgs ByVal e As)
Genişliği = 0 OrElse Yükseklik = 0 Sonra Dönüşü ise
Sonra _Transparent Eğer
PaintHook ()
e.Graphics.DrawImage (B, 0, 0)
Başka
G = e.Graphics
PaintHook ()
End If
End Sub
Korumalı Overrides Sub OnHandleDestroyed (EventArgs ByVal e As)
RemoveAnimationCallback (AddressOf DoAnimation)
MyBase.OnHandleDestroyed (e)
End Sub
#Region "Boyut Kullanma"
Korumalı NotOverridable Overrides Sub OnSizeChanged (EventArgs ByVal e As)
Sonra _Transparent Eğer
InvalidateBitmap ()
End If
() Geçersiz
MyBase.OnSizeChanged (e)
End Sub
Korumalı Overrides Sub SetBoundsCore (ByVal x Integer, Integer olarak ByVal y As Integer, ByVal genişliği, BoundsSpecified olarak belirtilen Integer, ByVal olarak ByVal yüksekliği gibi)
Değil _LockWidth Eğer = 0 Sonra width = _LockWidth
Değil _LockHeight = 0, daha sonra yüksekliğin = _LockHeight halinde
MyBase.SetBoundsCore (x, y, genişlik, yükseklik, belirtilen)
End Sub
#end Bölge
#Region "Devlet Kullanma"
As Boolean Private InPosition
Korumalı Overrides Sub OnMouseEnter (EventArgs ByVal e As)
InPosition = True
Setstate (MouseState.Over)
MyBase.OnMouseEnter (e)
End Sub
Korumalı Overrides Sub OnMouseUp (MouseEventArgs ByVal e As)
InPosition Sonra setstate (MouseState.Over) ise
MyBase.OnMouseUp (e)
End Sub
Korumalı Overrides Sub OnMouseDown (MouseEventArgs ByVal e As)
E.Button = Windows.Forms.MouseButtons.Left Sonra setstate (MouseState.Down) ise
MyBase.OnMouseDown (e)
End Sub
Korumalı Overrides Sub OnMouseLeave (EventArgs ByVal e As)
InPosition = False
Setstate (MouseState.None)
MyBase.OnMouseLeave (e)
End Sub
Korumalı Overrides Sub OnEnabledChanged (EventArgs ByVal e As)
Etkin ise Sonra setstate (MouseState.None) Else setstate (MouseState.Block)
MyBase.OnEnabledChanged (e)
End Sub
MouseState olarak Korumalı Devlet
Private Sub setstate (MouseState ByVal hafta)
Devlet = güncel
() Geçersiz
End Sub
#end Bölge
#Region "Baz Özellikleri"
<Browsable (Yanlış), EditorBrowsable (EditorBrowsableState.Never), DesignerSerializationVisibility (DesignerSerializationVisibility.Hidden)> _
Renk olarak Overrides Mülkiyet ForeColor ()
Almak
Dönüş Color.Empty
Get End
Set (Color ByVal değeri)
Bitiş Seti
End Property
<Browsable (Yanlış), EditorBrowsable (EditorBrowsableState.Never), DesignerSerializationVisibility (DesignerSerializationVisibility.Hidden)> _
Görüntü olarak Overrides Mülkiyet Backgroundımage ()
Almak
Hiçbir şey Dönüş
Get End
Set (As Image ByVal değeri)
Bitiş Seti
End Property
<Browsable (Yanlış), EditorBrowsable (EditorBrowsableState.Never), DesignerSerializationVisibility (DesignerSerializationVisibility.Hidden)> _
ImageLayout gibi Overrides Mülkiyet BackgroundImageLayout ()
Almak
Dönüş ImageLayout.None
Get End
Set (ImageLayout ByVal değeri)
Bitiş Seti
End Property
As String Overrides Mülkiyet Metin ()
Almak
Dönüş MyBase.Text
Get End
Set (As String ByVal değeri)
MyBase.Text = değer
() Geçersiz
Bitiş Seti
End Property
Yazı şöyle Overrides Mülkiyet Font ()
Almak
Dönüş MyBase.Font
Get End
Set (Yazı ByVal değeri)
MyBase.Font = değer
() Geçersiz
Bitiş Seti
End Property
As Boolean Private _BackColor
<Kategori ("Çeşitli")> _
Renk olarak Overrides Mülkiyet ArkaRenk ()
Almak
Dönüş MyBase.BackColor
Get End
Set (Color ByVal değeri)
Sonra AndAlso değeri = Color.Transparent IsHandleCreated değil ise
_BackColor = True
Dönüş
End If
MyBase.BackColor = değer
Veli Hiçbir şey IsNot varsa Sonra ColorHook ()
Bitiş Seti
End Property
#end Bölge
#Region "Genel Özellikler"
As Boolean Private _NoRounding
As Boolean Property NoRounding ()
Almak
Dönüş _NoRounding
Get End
Set (As Boolean ByVal v)
_NoRounding = H
() Geçersiz
Bitiş Seti
End Property
Özel _Image gibi Görüntü
Mülkiyet Görüntü () As Image
Almak
Dönüş _Image
Get End
Set (As Image ByVal değeri)
Değeri bir şey Sonra mı varsa
_ImageSize = Size.Empty
Başka
_ImageSize = value.Size
End If
_Image = Değer
() Geçersiz
Bitiş Seti
End Property
As Boolean Private _Transparent
As Boolean Şeffaf Property ()
Almak
Dönüş _Transparent
Get End
Set (As Boolean ByVal değeri)
_Transparent = Değer
İade Sonra IsHandleCreated değil ise
Sonra AndAlso değil BackColor.A = 255 değer değil ise
("Şeffaf ArkaRenk kullanımda iken false değerini değiştirmek için açılamıyor.") Yeni İstisna atmak
End If
SetStyle (ControlStyles.Opaque Değil, değer)
SetStyle (ControlStyles.SupportsTransparentBackColor, değer)
Değeri Sonra InvalidateBitmap () Else B = Hiçbir şey varsa
() Geçersiz
Bitiş Seti
End Property
(Dize, Color Of) Yeni Dictionary gibi özel ürünler
Mülkiyet Renkler () Bloom gibi ()
Almak
Yeni Liste Olarak Dim T (Bloom Of)
(String, Renk) Sözlük Dim E .Enumerator = Items.GetEnumerator
E.MoveNext iken
T.Add (Yeni Bloom (E.Current.Key, E.Current.Value))
End While
Dönüş T.ToArray
Get End
Set (Bloom gibi ByVal değeri ())
Bloom yılında değer olarak her B
Items.ContainsKey (B.Name) Sonra Öğeler (B.Name) = B.Value ise
Sonraki
InvalidateCustimization ()
ColorHook ()
() Geçersiz
Bitiş Seti
End Property
As String Private _Customization
As String Mülkiyet Özelleştirme ()
Almak
Dönüş _Customization
Get End
Set (As String ByVal değeri)
Değeri = _Customization Sonra Dönüşü ise
As Byte Dim veri ()
Dim Öğeler Bloom () Renkler = gibi
Denemek
Veri = Convert.FromBase64String (değer)
Ben As Integer = 0 Items.Length için için - 1
Öğeler (I) .Value = Color.FromArgb (BitConverter.ToInt32 (Data, * 4))
Sonraki
Yakalamak
Dönüş
End Try
_Customization = Değer
Renkler = Öğeler
ColorHook ()
() Geçersiz
Bitiş Seti
End Property
#end Bölge
#Region "Özel Özellikler"
Boyutu itibariyle özel _ImageSize
Boyutu itibariyle Korumalı ReadOnly özelliği ImageSize ()
Almak
Dönüş _ImageSize
Get End
End Property
As Integer Private _LockWidth
Mülkiyet LockWidth () As Integer Korumalı
Almak
Dönüş _LockWidth
Get End
Set (As Integer ByVal değeri)
_LockWidth = Değer
Değil LockWidth = 0 AndAlso IsHandleCreated sonra genişlik = LockWidth halinde
Bitiş Seti
End Property
As Integer Private _LockHeight
Mülkiyet LockHeight () As Integer Korumalı
Almak
Dönüş _LockHeight
Get End
Set (As Integer ByVal değeri)
_LockHeight = Değer
Değil LockHeight = 0 AndAlso IsHandleCreated sonra Yükseklik = LockHeight halinde
Bitiş Seti
End Property
As Boolean Private _IsAnimated
As Boolean Korumalı Mülkiyet IsAnimated ()
Almak
Dönüş _IsAnimated
Get End
Set (As Boolean ByVal değeri)
_IsAnimated Değeri =
InvalidateTimer ()
Bitiş Seti
End Property
#end Bölge
#Region "Mülkiyet Yardımcılar"
Kalem gibi Korumalı Fonksiyon GetPen (As String ByVal name)
Dönüş Yeni Kalem (Öğeler (isim))
End Function
Kalem gibi Korumalı Fonksiyon GetPen (dize, As Single ByVal genişliği gibi ByVal name)
Dönüş Yeni Kalem (Öğeler (isim), genişlik)
End Function
SolidBrush gibi Korumalı Fonksiyon GetBrush (As String ByVal name)
Dönüş Yeni SolidBrush (Öğeler (isim))
End Function
Renk olarak Korumalı Fonksiyon GetColor (As String ByVal name)
Dönüş Öğeler (isim)
End Function
Korumalı Alt SetColor (As String ByVal isim, Renk olarak ByVal değeri)
Eğer Items.ContainsKey (isim) Sonra Öğeler (isim) = değer Else resi (ad, değer)
End Sub
Korumalı Alt SetColor (As String ByVal isim, As Byte ByVal r, As Byte ByVal g As Byte, ByVal b)
SetColor (ad, Color.FromArgb (R, G, B))
End Sub
Korumalı Alt SetColor (String ByVal bir olarak Byte, Byte olarak ByVal r, ByVal isim ByVal g Byte, Byte olarak ByVal b gibi)
SetColor (ad, Color.FromArgb (A, R, G, B))
End Sub
Korumalı Alt SetColor (String ByVal olarak ByVal adı olarak Byte, Renk olarak ByVal değeri)
SetColor (isim, Color.FromArgb (a, değer))
End Sub
Private Sub InvalidateBitmap ()
Genişliği = 0 OrElse Yükseklik = 0 Sonra Dönüşü ise
B = Yeni Bitmap (Genişlik, Yükseklik, PixelFormat.Format32bppPArgb)
G = Graphics.FromImage (B)
End Sub
Private Sub InvalidateCustimization ()
Yeni MemoryStream gibi M Dim (Items.Count * 4)
Renkler Bloom gibi Her B
M.Write (BitConverter.GetBytes (B.Value.ToArgb), 0, 4)
Sonraki
M.Close ()
_Customization = Convert.ToBase64String (M.ToArray)
End Sub
Private Sub InvalidateTimer ()
DesignMode OrElse değil Sonra DoneCreation dön eğer
Sonra _IsAnimated Eğer
AddAnimationCallback (AddressOf DoAnimation)
Başka
RemoveAnimationCallback (AddressOf DoAnimation)
End If
End Sub
#end Bölge
#Region "Kullanıcı Hooks"
Korumalı MustOverride Alt ColorHook ()
Korumalı MustOverride Alt PaintHook ()
Korumalı Overridable Sub OnCreation ()
End Sub
Korumalı Overridable Sub OnAnimation ()
End Sub
#end Bölge
#Region "Ofset"
Özel OffsetReturnRectangle gibi Dikdörtgen
Ofset Korumalı Fonksiyon Dikdörtgen gibi (Dikdörtgen olarak ByVal r As Integer, ByVal tutar)
OffsetReturnRectangle = Yeni Dikdörtgen (rX + miktarı, rY + miktarı, r.Width - (miktar * 2), r.Height - (miktar * 2))
Dönüş OffsetReturnRectangle
End Function
Boyutu itibariyle özel OffsetReturnSize
Korumalı Fonksiyon Ofset (ByVal s As Boyut As Integer, ByVal tutar) Boyutu gibi
OffsetReturnSize = Yeni Boyut (s.Width + miktarı, s.Height + miktar)
Dönüş OffsetReturnSize
End Function
Nokta gibi özel OffsetReturnPoint
Korumalı Fonksiyon Ofset (Noktaya ByVal p As Integer, ByVal tutar) Noktası olarak
OffsetReturnPoint = Yeni Noktası (pX + miktarı, pY + miktar)
Dönüş OffsetReturnPoint
End Function
#end Bölge
#Region "Merkezi"
Özel CenterReturn gibi Noktası
Noktası olarak Korumalı Fonksiyonu Merkezi (Dikdörtgen olarak ByVal p, Dikdörtgen olarak ByVal c)
CenterReturn = Yeni Noktası ((p.Width \ 2 - c.Width \ 2) + pX + cX, (p.Height \ 2 - c.Height \ 2) + pY + cY)
Dönüş CenterReturn
End Function
Noktası olarak Korumalı Fonksiyonu Merkezi (Dikdörtgen olarak ByVal p, Boyut olarak ByVal c)
CenterReturn = Yeni Noktası ((p.Width \ 2 - c.Width \ 2) + pX, (p.Height \ 2 - c.Height \ 2) + pY)
Dönüş CenterReturn
End Function
Noktası olarak Korumalı Fonksiyonu Merkezi (Dikdörtgen ByVal çocuk)
Dönüş Merkezi (Genişlik, Yükseklik, child.Width, child.Height)
End Function
Noktası olarak Korumalı Fonksiyonu Merkezi (Boyut olarak ByVal çocuk)
Dönüş Merkezi (Genişlik, Yükseklik, child.Width, child.Height)
End Function
Korumalı Fonksiyon Center Point gibi (As Integer ByVal childWidth As Integer, ByVal childHeight)
Dönüş Merkezi (Genişlik, Yükseklik, childWidth, childHeight)
End Function
Noktası olarak Korumalı Fonksiyonu Merkezi (Boyut olarak ByVal p, Boyut olarak ByVal c)
Dönüş Merkezi (p.Width, p.Height, c.Width, c.Height)
End Function
Noktası olarak Korumalı Fonksiyonu Merkezi (As Integer ByVal pWidth As Integer, ByVal pHeight As Integer, ByVal cWidth As Integer, ByVal cHeight)
CenterReturn = Yeni Nokta (pWidth \ 2 - cWidth \ 2, pHeight \ 2 - cHeight \ 2)
Dönüş CenterReturn
End Function
#end Bölge
#Region "Tedbir"
Bitmap Olarak Özel MeasureBitmap
Graphics 'TODO gibi özel MeasureGraphics: multi-threading sırasında Olası sorunları.
Boyutu itibariyle Korumalı Fonksiyon Ölçümü ()
Dönüş MeasureGraphics.MeasureString (Metin, Yazı, Genişlik) .ToSize
End Function
Korumalı Fonksiyon Ölçümü Boyutu gibi (As String ByVal metin)
Dönüş MeasureGraphics.MeasureString (metin, yazı tipi, Genişlik) .ToSize
End Function
#end Bölge
#Region "DrawPixel"
SolidBrush gibi özel DrawPixelBrush
Korumalı Alt DrawPixel (Color ByVal c1, ByVal x As Integer, ByVal y As Integer)
Sonra _Transparent Eğer
B.SetPixel (x, y, C1)
Başka
DrawPixelBrush = Yeni SolidBrush (C1)
G.FillRectangle (DrawPixelBrush, x, y, 1, 1)
End If
End Sub
#end Bölge
#Region "DrawCorners"
SolidBrush gibi özel DrawCornersBrush
Korumalı Alt DrawCorners (Color ByVal c1, ByVal As Integer ofset)
DrawCorners (c1, 0, 0, Genişlik, Yükseklik, ofset)
End Sub
Korumalı Alt DrawCorners (Color, ByVal r1 gibi Dikdörtgen, ByVal olarak ByVal c1 As Integer ofset)
DrawCorners (c1, r1.X, r1.Y, r1.Width, r1.Height, ofset)
End Sub
(X tamsayı, tamsayı, Integer, Integer olarak ByVal yüksekliği gibi ByVal genişliği arttıkça ByVal y gibi, ByVal As Integer ofset ByVal Renk olarak ByVal c1) Korumalı Alt DrawCorners
DrawCorners (C1, burada x + y, ofset + ofset, genişlik - (ofset * 2), yüksekliği - (ofset * 2))
End Sub
Korumalı Alt DrawCorners (Color ByVal c1)
DrawCorners (c1, 0, 0, Genişlik, Yükseklik)
End Sub
Korumalı Alt DrawCorners (Color ByVal c1, ByVal r1 gibi Dikdörtgen)
DrawCorners (C1, r1.X, r1.Y, r1.Width, r1.Height)
End Sub
Korumalı Alt DrawCorners (Color ByVal c1, ByVal x Integer, Integer olarak ByVal y As Integer, ByVal genişliği, As Integer ByVal yüksekliği gibi)
Sonra Return _NoRounding ise
Sonra _Transparent Eğer
B.SetPixel (x, y, C1)
B.SetPixel burada (x + (genişlik - 1), Y, C1)
B.SetPixel (x, y + (yükseklik - 1), C1)
B.SetPixel burada (x + (genişlik - 1), y + (yükseklik - 1), C1)
Başka
DrawCornersBrush = Yeni SolidBrush (C1)
G.FillRectangle (DrawCornersBrush, x, y, 1, 1)
G.FillRectangle (DrawCornersBrush, x + (genişlik - 1), y, 1, 1)
G.FillRectangle (DrawCornersBrush x, y + (yükseklik - 1), 1, 1)
G.FillRectangle (DrawCornersBrush, x + (genişlik - 1), y + (yükseklik - 1), 1, 1)
End If
End Sub
#end Bölge
#Region "DrawBorders"
Korumalı Alt DrawBorders (ByVal p1 Pen gibi, ByVal As Integer ofset)
DrawBorders (p1, 0, 0, Genişlik, Yükseklik, ofset)
End Sub
Korumalı Alt DrawBorders (ByVal p1 Kalem, Dikdörtgen olarak ByVal r gibi, ByVal As Integer ofset)
DrawBorders (P1, R x, Ry, r.Width, r.Height, ofset)
End Sub
Korumalı Alt DrawBorders (ByVal p1 Pen gibi, ByVal x Integer, Integer, Integer, Integer olarak ByVal yüksekliği gibi ByVal genişliği arttıkça ByVal y gibi, ByVal As Integer ofset)
DrawBorders (P1, burada x + y, ofset + ofset, genişlik - (ofset * 2), yüksekliği - (ofset * 2))
End Sub
Korumalı Alt DrawBorders (ByVal p1 Pen gibi)
DrawBorders (p1, 0, 0, Genişlik, Yükseklik)
End Sub
Korumalı Alt DrawBorders (ByVal p1 Pen gibi, Dikdörtgen olarak ByVal r)
DrawBorders (P1, R x, Ry, r.Width, r.Height)
End Sub
Korumalı Alt DrawBorders (ByVal p1 Pen gibi, ByVal x Integer, Integer olarak ByVal y As Integer, ByVal genişliği, As Integer ByVal yüksekliği gibi)
G.DrawRectangle (P1, x, y, genişlik - 1, yükseklik - 1)
End Sub
#end Bölge
#Region "DrawText"
Nokta gibi özel DrawTextPoint
Boyutu itibariyle özel DrawTextSize
Korumalı Alt DrawText (Fırça, ByVal olarak ByVal b1 HorizontalAlignment olarak, ByVal x Integer, Integer olarak ByVal y gibi)
DrawText (B1, metin, A, X, y)
End Sub
Korumalı Alt DrawText (Fırça, As String ByVal metin, ByVal olarak ByVal b1 HorizontalAlignment olarak, ByVal x Integer, Integer olarak ByVal y gibi)
Text.Length = 0 Sonra Dönüşü ise
DrawTextSize = Tedbir (metin)
DrawTextPoint = Merkezi (DrawTextSize)
Select Case a
Vaka HorizontalAlignment.Left
G.DrawString (metin, yazı tipi, b1, x DrawTextPoint.Y + y)
Neredeyse HorizontalAlignment.Center
G.DrawString (metin, yazı tipi, b1, DrawTextPoint.X + x, DrawTextPoint.Y + y)
Vaka HorizontalAlignment.Right
G.DrawString (metin, yazı tipi, b1, Genişlik - DrawTextSize.Width - x, DrawTextPoint.Y + y)
End Select
End Sub
Korumalı Alt DrawText (Fırça gibi ByVal b1, ByVal p1 noktası olarak)
Text.Length = 0 Sonra Dönüşü ise
G.DrawString (Metin, Yazı, b1, p1)
End Sub
Korumalı Alt DrawText (Fırça gibi ByVal b1, ByVal x Integer, Integer olarak ByVal y gibi)
Text.Length = 0 Sonra Dönüşü ise
G.DrawString (Metin, Yazı, b1, x, y)
End Sub
#end Bölge
#Region "DrawImage"
Nokta gibi özel DrawImagePoint
Alt DrawImage Korumalı (As a HorizontalAlignment ByVal, ByVal x Integer, Integer olarak ByVal y gibi)
DrawImage (_Image, a, x, y)
End Sub
Korumalı Alt DrawImage (As Image ByVal görüntü HorizontalAlignment ByVal bir, ByVal x Integer, Integer olarak ByVal y gibi)
Görüntü Hiçbir Sonra İade mı varsa
DrawImagePoint = Merkezi (image.Size)
Select Case a
Vaka HorizontalAlignment.Left
G.DrawImage (görüntü, x DrawImagePoint.Y + y image.Width, image.Height)
Neredeyse HorizontalAlignment.Center
G.DrawImage (resim, DrawImagePoint.X + x, DrawImagePoint.Y + y, image.Width, image.Height)
Vaka HorizontalAlignment.Right
G.DrawImage (resim, Genişlik - image.Width - x, DrawImagePoint.Y + y, image.Width, image.Height)
End Select
End Sub
Korumalı Alt DrawImage (ByVal p1 noktası olarak)
DrawImage (_Image, p1.X, p1.y)
End Sub
Alt DrawImage Korumalı (ByVal Integer, Integer olarak ByVal y gibi x)
DrawImage (_Image, x, y)
End Sub
Korumalı Alt DrawImage (As Image ByVal görüntü, ByVal p1 noktası olarak)
DrawImage (resim, p1.X, p1.y)
End Sub
Korumalı Alt DrawImage (As Image ByVal görüntü, ByVal x Integer, Integer olarak ByVal y gibi)
Görüntü Hiçbir Sonra İade mı varsa
G.DrawImage (resim, x, y, image.Width, image.Height)
End Sub
#end Bölge
#Region "DrawGradient"
LinearGradientBrush gibi özel DrawGradientBrush
Özel DrawGradientRectangle gibi Dikdörtgen
Alt DrawGradient Korumalı (ColorBlend gibi harman ByVal, ByVal x Integer, Integer olarak ByVal y As Integer, ByVal genişliği, As Integer ByVal yüksekliği gibi)
DrawGradientRectangle = Yeni Dikdörtgen (x, y, genişlik, yükseklik)
DrawGradient (harmanı DrawGradientRectangle)
End Sub
Alt DrawGradient Korumalı (ColorBlend gibi harman ByVal, ByVal x Integer, Integer olarak ByVal y As Integer, ByVal genişliği, As Integer ByVal yüksekliği, As Single ByVal açısı gibi)
DrawGradientRectangle = Yeni Dikdörtgen (x, y, genişlik, yükseklik)
DrawGradient (harman DrawGradientRectangle, açı)
End Sub
Alt DrawGradient Korumalı (ColorBlend, Dikdörtgen olarak ByVal r gibi harman ByVal)
DrawGradientBrush = Yeni LinearGradientBrush (R, Color.Empty, Color.Empty, 90.0F)
DrawGradientBrush.InterpolationColors = harman
G.FillRectangle (DrawGradientBrush, R)
End Sub
Alt DrawGradient Korumalı (ColorBlend, Dikdörtgen olarak ByVal r, As Single ByVal açısı olarak harman ByVal)
DrawGradientBrush = Yeni LinearGradientBrush (r, Color.Empty, Color.Empty, açı)
DrawGradientBrush.InterpolationColors = harman
G.FillRectangle (DrawGradientBrush, R)
End Sub
Korumalı Alt DrawGradient (Color ByVal c1, Renk olarak ByVal c2, ByVal x Integer, Integer olarak ByVal y As Integer, ByVal genişliği, As Integer ByVal yüksekliği gibi)
DrawGradientRectangle = Yeni Dikdörtgen (x, y, genişlik, yükseklik)
DrawGradient (C1, C2, DrawGradientRectangle)
End Sub
Korumalı Alt DrawGradient (Color ByVal c1, Renk olarak ByVal c2, ByVal x Integer, Integer olarak ByVal y As Integer, ByVal genişliği, As Integer ByVal yüksekliği, As Single ByVal açısı gibi)
DrawGradientRectangle = Yeni Dikdörtgen (x, y, genişlik, yükseklik)
DrawGradient (C1, C2, DrawGradientRectangle, açı)
End Sub
Korumalı Alt DrawGradient (Color ByVal c1, Renk olarak ByVal c2, Dikdörtgen olarak ByVal r)
DrawGradientBrush = Yeni LinearGradientBrush (R, C1, C2, 90.0F)
G.FillRectangle (DrawGradientBrush, R)
End Sub
Korumalı Alt DrawGradient (Color ByVal c1, Renk olarak ByVal c2, Dikdörtgen olarak ByVal r, As Single ByVal açısı)
DrawGradientBrush = Yeni LinearGradientBrush (R, C1, C2, açı)
G.FillRectangle (DrawGradientBrush, R)
End Sub
#end Bölge
#Region "DrawRadial"
GraphicsPath gibi özel DrawRadialPath
PathGradientBrush gibi özel DrawRadialBrush1
Özel DrawRadialBrush2 olarak LinearGradientBrush
Özel DrawRadialRectangle gibi Dikdörtgen
Alt DrawRadial (ColorBlend ByVal harman, ByVal x Integer, Integer olarak ByVal y As Integer, ByVal genişliği, As Integer ByVal yüksekliği gibi)
DrawRadialRectangle = Yeni Dikdörtgen (x, y, genişlik, yükseklik)
DrawRadial (harmanı, DrawRadialRectangle, \ 2 genişlik, Yükseklik \ 2)
End Sub
Alt DrawRadial (ColorBlend ByVal harman, ByVal x Integer, Integer olarak ByVal y As Integer, ByVal genişliği, As Integer ByVal yüksekliği gibi, ByVal merkezi gibi Noktası)
DrawRadialRectangle = Yeni Dikdörtgen (x, y, genişlik, yükseklik)
DrawRadial (harman DrawRadialRectangle, center.X, center.Y)
End Sub
Alt DrawRadial (ColorBlend ByVal harman, ByVal x Integer, Integer olarak ByVal y As Integer, ByVal genişliği, As Integer ByVal yüksekliği, ByVal cx Integer, Integer olarak ByVal cy As)
DrawRadialRectangle = Yeni Dikdörtgen (x, y, genişlik, yükseklik)
DrawRadial (harman DrawRadialRectangle Cx, CY)
End Sub
Alt DrawRadial (ColorBlend ByVal karışımı, bir dikdörtgen olarak ByVal r)
DrawRadial (karışım, r r.Width \ 2, r.Height \ 2)
End Sub
Alt DrawRadial (ColorBlend, Dikdörtgen, ByVal merkezi olarak Noktaya ByVal r gibi ByVal harman)
DrawRadial (karışım, r center.X, center.Y)
End Sub
Alt DrawRadial (ColorBlend ByVal harman, Dikdörtgen olarak ByVal r As Integer, ByVal cx As Integer, ByVal cy)
DrawRadialPath.Reset ()
DrawRadialPath.AddEllipse (Rx, Ry r.Width - 1, r.Height - 1)
DrawRadialBrush1 = Yeni PathGradientBrush (DrawRadialPath)
DrawRadialBrush1.CenterPoint = Yeni Noktası (rX + cx, rY + cy)
DrawRadialBrush1.InterpolationColors = harman
G.SmoothingMode Sonra SmoothingMode.AntiAlias = Eğer
G.FillEllipse (1 + çok DrawRadialBrush1, Rx + 1, r.Width - 3, r.Height - 3)
Başka
G.FillEllipse (DrawRadialBrush1, R)
End If
End Sub
Korumalı Alt DrawRadial (Color ByVal c1, Renk olarak ByVal c2, ByVal x Integer, Integer olarak ByVal y As Integer, ByVal genişliği, As Integer ByVal yüksekliği gibi)
DrawRadialRectangle = Yeni Dikdörtgen (x, y, genişlik, yükseklik)
DrawRadial (C1, C2, DrawRadialRectangle)
End Sub
Korumalı Alt DrawRadial (Color ByVal c1, Renk olarak ByVal c2, ByVal x Integer, Integer olarak ByVal y As Integer, ByVal genişliği, As Integer ByVal yüksekliği, As Single ByVal açısı gibi)
DrawRadialRectangle = Yeni Dikdörtgen (x, y, genişlik, yükseklik)
DrawRadial (C1, C2, DrawRadialRectangle, açı)
End Sub
Korumalı Alt DrawRadial (Color ByVal c1, Renk olarak ByVal c2, Dikdörtgen olarak ByVal r)
DrawRadialBrush2 = Yeni LinearGradientBrush (R, C1, C2, 90.0F)
G.FillEllipse (DrawRadialBrush2, R)
End Sub
Korumalı Alt DrawRadial (Color ByVal c1, Renk olarak ByVal c2, Dikdörtgen olarak ByVal r, As Single ByVal açısı)
DrawRadialBrush2 = Yeni LinearGradientBrush (R, C1, C2, açı)
G.FillEllipse (DrawRadialBrush2, R)
End Sub
#end Bölge
#Region "CreateRound"
GraphicsPath gibi özel CreateRoundPath
Özel CreateRoundRectangle gibi Dikdörtgen
Fonksiyon CreateRound (ByVal Integer, Integer olarak ByVal y As Integer, ByVal genişliği, As Integer ByVal yüksekliği, As Integer ByVal eğimin gibi x) GraphicsPath gibi
CreateRoundRectangle = Yeni Dikdörtgen (x, y, genişlik, yükseklik)
Dönüş CreateRound (CreateRoundRectangle, eğim)
End Function
Fonksiyon CreateRound GraphicsPath gibi (Dikdörtgen olarak ByVal r As Integer, ByVal eğim)
CreateRoundPath = Yeni GraphicsPath (FillMode.Winding)
CreateRoundPath.AddArc (rX, rY, eğim, eğim, 180.0F, 90.0F)
CreateRoundPath.AddArc (r.Right - eğim, rY, eğim, eğim, 270.0F, 90.0F)
CreateRoundPath.AddArc (r.Right - eğim, r.Bottom - eğim, eğim, eğim, 0.0F, 90.0F)
CreateRoundPath.AddArc (rX, r.Bottom - eğim, eğim, eğim, 90.0F, 90.0F)
CreateRoundPath.CloseFigure ()
Dönüş CreateRoundPath
End Function
#end Bölge
End Class
Modül ThemeShare
#Region "Animasyon"
As Integer özel çerçeveler
As Boolean Private Invalidate'yi
Yeni PrecisionTimer olarak Kamu ThemeTimer
Tamsayı = 20 'gibi kamu FPS 1000-1050 = 20 FPS
Integer = 15 olarak Kamu Puan
Kamu Delege Sub AnimationDelegate (ByVal As Boolean geçersiz)
Yeni Liste Olarak Özel Callbacks (AnimationDelegate Of)
Private Sub HandleCallbacks (IntPtr, As Boolean ByVal rezerv olarak ByVal devlet)
Geçersiz = (Çerçeveler> = FPS)
Geçersiz ise Sonra Çerçeveler = 0
SyncLock Callbacks
1 - As Integer = 0 Callbacks.Count için I
Geri aramalar (I) '.Invoke (Invalidate'yi)
Sonraki
Bitiş SyncLock
Çerçeveler + = Oranı
End Sub
Private Sub InvalidateThemeTimer ()
Callbacks.Count Sonra 0 = eğer
ThemeTimer.Delete ()
Başka
ThemeTimer.Create (0, Rate, AddressOf HandleCallbacks)
End If
End Sub
Alt AddAnimationCallback (AnimationDelegate ByVal callback)
SyncLock Callbacks
Callbacks.Contains (callback) Sonra Dönüşü ise
Callbacks.Add (callback)
InvalidateThemeTimer ()
Bitiş SyncLock
End Sub
Alt RemoveAnimationCallback (AnimationDelegate ByVal callback)
SyncLock Callbacks
Değil Callbacks.Contains (callback) Sonra Dönüşü ise
Callbacks.Remove (callback)
InvalidateThemeTimer ()
Bitiş SyncLock
End Sub
#end Bölge
End Module
Enum MouseState olarak Bayt
Yok = 0
Aşırı = 1
Down = 2
Blok = 3
End Enum
Yapı Bloom
Kamu _name As String
As String ReadOnly Property Name ()
Almak
Dönüş _name
Get End
End Property
Özel _Value gibi Renk
Renk olarak Özellik Değer ()
Almak
Dönüş _Value
Get End
Set (Color ByVal değeri)
_Value = Değer
Bitiş Seti
End Property
As String Property ValueHex ()
Almak
String.Concat (Return "#", _
_ ("X2", Nothing) _Value.R.ToString
_ ("X2", Nothing) _Value.G.ToString
_Value.B.ToString ("X2", Nothing))
Get End
Set (As String ByVal değeri)
Denemek
_Value = ColorTranslator.FromHtml (değer)
Yakalamak
Dönüş
End Try
Bitiş Seti
End Property
Sub New (As String ByVal isim, Renk olarak ByVal değeri)
_name = Isim
_Value = Değer
End Sub
Bitiş Yapısı
'------------------
'Oluşturan: aeonhack
'Site: elitevs.net
'Oluşturuldu: 2011/11/30
'Değişti: 2011/11/30
'Sürüm: 1.0.0
'------------------
Sınıf PrecisionTimer
Idisposable uygular
As Boolean Private _Enabled
ReadOnly özelliği As Boolean) (Etkin
Almak
Dönüş _Enabled
Get End
End Property
As IntPtr Özel Kolu
TimerDelegate gibi özel TimerCallback
<Dllımport ("kernel32.dll", EntryPoint: = "CreateTimerQueueTimer")> _
Özel Shared Function CreateTimerQueueTimer (_
As IntPtr işlemek ByRef, _
IntPtr olarak, KUYRUK ByVal _
ByVal TimerDelegate olarak geri arama, _
ByVal As IntPtr devlet, _
DueTime ise UInteger ByVal _
UInteger ByVal süre ise, _
As Boolean UInteger ByVal bayrakları)
End Function
<Dllımport ("kernel32.dll", EntryPoint: = "DeleteTimerQueueTimer")> _
Özel Shared Function DeleteTimerQueueTimer (_
IntPtr olarak, KUYRUK ByVal _
As IntPtr işlemek ByVal _
As Boolean IntPtr ByVal callback)
End Function
Alt TimerDelegate yetki verme (ByVal R1 ile ıntptr, ByVal R2, Boole)
Alt oluşturun (ByVal dueTime UInteger, UInteger ByVal dönemde, TimerDelegate ByVal geri arama gibi)
İade Sonra _Enabled ise
TimerCallback = geri arama
As Boolean Başarı Dim = CreateTimerQueueTimer (Kulp, IntPtr.Zero, TimerCallback, IntPtr.Zero, dueTime, dönem, 0)
Eğer Değil Başarı Sonra ThrowNewException ("CreateTimerQueueTimer")
_Enabled = Başarı
End Sub
Sub Sil ()
İade Sonra _Enabled değil ise
As Boolean Başarı Dim = DeleteTimerQueueTimer (IntPtr.Zero, Kulp IntPtr.Zero)
Sonra Değil Başarı AndAlso değil Marshal.GetLastWin32Error ise = 997
'ThrowNewException ("DeleteTimerQueueTimer")
End If
_Enabled = Değil Başarı
End Sub
Private Sub ThrowNewException (As String ByVal name)
Yeni İstisna atmak (string.Format ("{0} başarısız Win32Error: {1}.", Ad, Marshal.GetLastWin32Error))
End Sub
Public Sub Dispose () IDisposable.Dispose uygular
() Sil
End Sub
End Class
#end Bölge
Sınıf GhostTheme
Inherits ThemeContainer154
Korumalı Overrides Sub ColorHook ()
End Sub
Korumalı Overrides Sub PaintHook ()
G.Clear (Color.DimGray)
Yeni ColorBlend Dim kapak (2)
DrawBorders (Pens.Gray, 1)
hatch.Colors (0) = Color.DimGray
hatch.Colors (1) = Color.FromArgb (60, 60, 60),
hatch.Positions (0) = 0
hatch.Positions (1) = 1
DrawGradient (ambar, Yeni Dikdörtgen (0, 0, Genişlik, 24))
hatch.Colors (0) = Color.FromArgb (100, 100, 100),
hatch.Colors (1) = Color.DimGray
DrawGradient (ambar, Yeni Dikdörtgen (0, 0, Genişlik, 12))
HatchBrush Dim asdf
asdf = Yeni HatchBrush (HatchStyle.DarkDownwardDiagonal, Color.FromArgb (15, Color.Black), Color.FromArgb (0, Color.Gray))
hatch.Colors (0) = Color.FromArgb (120, Color.Black)
hatch.Colors (1) = Color.FromArgb (0, Color.Black)
DrawGradient (ambar, Yeni Dikdörtgen (0, 0, Genişlik, 30))
G.FillRectangle (asdf, 0, 0, Genişlik, 24)
G.DrawLine (Pens.Black, 6, 24, Genişlik - 7, 24)
G.DrawLine (Pens.Black, 6, 24, 6, yüksekliği - 7)
G.DrawLine (Pens.Black, 6, Yükseklik - 7, Genişlik - 7, Yükseklik - 7)
G.DrawLine (Pens.Black, Genişlik - 7, 24, Genişlik - 7, Yükseklik - 7)
G.FillRectangle (Yeni SolidBrush (Color.FromArgb (60, 60, 60)), yeni bir dikdörtgen (1, 24, 5, yüksekliği - 6-24))
G.FillRectangle (asdf, 1, 24, 5, Yükseklik - 6-24)
G.FillRectangle (Yeni SolidBrush (Color.FromArgb (60, 60, 60)), Yeni Dikdörtgen (Genişlik - 6, 24, Genişlik - 1, Yükseklik - 6-24))
G.FillRectangle (asdf, Genişlik - 6, 24, Genişlik - 2, Yükseklik - 6-24)
G.FillRectangle (Yeni SolidBrush (Color.FromArgb (60, 60, 60)), Yeni Dikdörtgen (1, Yükseklik - 6, Genişlik - 2, Yükseklik - 1))
G.FillRectangle (asdf, 1, Yükseklik - 6, Genişlik - 2, Yükseklik - 1)
DrawBorders (Pens.Black)
asdf = Yeni HatchBrush (HatchStyle.LightDownwardDiagonal, Color.DimGray)
G.FillRectangle (asdf, 7, 25, Genişlik - 14 Yükseklik - 24 - 8)
G.FillRectangle (Yeni SolidBrush (Color.FromArgb (230, 20, 20, 20)), 7, 25, Genişlik - 14 Yükseklik - 24-8)
DrawCorners (Color.Fuchsia)
DrawCorners (Color.Fuchsia, 0, 1, 1, 1)
DrawCorners (Color.Fuchsia, 1, 0, 1, 1)
DrawPixel (Color.Black, 1, 1)
DrawCorners (Color.Fuchsia, 0, yüksekliği - 2, 1, 1)
DrawCorners (Color.Fuchsia, 1, yüksekliği - 1, 1, 1)
DrawPixel (Color.Black, Genişlik - 2, 1)
DrawCorners (Color.Fuchsia, Genişlik - 1, 1, 1, 1)
DrawCorners (Color.Fuchsia, Genişlik - 2, 0, 1, 1)
DrawPixel (Color.Black, 1, Yükseklik - 2)
DrawCorners (Color.Fuchsia, Genişlik - 1, Yükseklik - 2, 1, 1)
DrawCorners (Color.Fuchsia, Genişlik - 2, Yükseklik - 1, 1, 1)
DrawPixel (Color.Black, Genişlik - 2, Yükseklik - 2)
Yeni ColorBlend gibi cblend Dim (2)
cblend.Colors (0) = Color.FromArgb (35, Color.Black)
cblend.Colors (1) = Color.FromArgb (0, 0, 0, 0)
cblend.Positions (0) = 0
cblend.Positions (1) = 1
DrawGradient (cblend, 7, 25, 15, yüksekliği - 6-24, 0)
cblend.Colors (0) = Color.FromArgb (0, 0, 0, 0)
cblend.Colors (1) = Color.FromArgb (35, Color.Black)
DrawGradient (cblend, Genişlik - 24, 25, 17, yüksekliği - 6-24, 0)
cblend.Colors (1) = Color.FromArgb (0, 0, 0, 0)
cblend.Colors (0) = Color.FromArgb (35, Color.Black)
DrawGradient (cblend, 7, 25, Me.Width - 14, 17, 90)
cblend.Colors (0) = Color.FromArgb (0, 0, 0, 0)
cblend.Colors (1) = Color.FromArgb (35, Color.Black)
DrawGradient (cblend, 8, Me.Height - 24, Me.Width - 14, 17, 90)
G.DrawString (Metin, Yazı, Brushes.White New Point (6, 6))
End Sub
Public Sub New ()
TransparencyKey = Color.Fuchsia
End Sub
End Class
Sınıf GhostButton
Inherits ThemeControl154
As Boolean Özel Cam = true
Korumalı Overrides Sub ColorHook ()
End Sub
As Boolean Public Property EnableGlass
Almak
Dönüş Cam
Get End
Set (As Boolean ByVal değeri)
Cam = değer
Bitiş Seti
End Property
Korumalı Overrides Sub OnTextChanged (System.EventArgs ByVal e As)
MyBase.OnTextChanged (e)
Grafik = Me.CreateGraphics Dim gg
SizeF = Me.CreateGraphics.MeasureString gibi TEXTSIZE Dim (Metin, yazı tipi)
gg.DrawString (Metin, Yazı, Brushes.White, Yeni RectangleF (0, 0, Me.Width, Me.Height))
End Sub
Korumalı Overrides Sub PaintHook ()
G.Clear (Color.FromArgb (0, 40, 40, 40))
Sonra Devlet = MouseState.Over ise
Yeni ColorBlend gibi cblend Dim (2)
cblend.Colors (0) = Color.FromArgb (60, 60, 60),
cblend.Colors (1) = Color.FromArgb (80, 80, 80)
cblend.Positions (0) = 0
cblend.Positions (1) = 1
DrawGradient (cblend, Yeni Dikdörtgen (0, 0, Genişlik, Yükseklik))
Eğer Cam Sonra DrawGradient (cblend, Yeni Dikdörtgen (0, 0, Genişlik, Yükseklik / 5 * 2))
ElseIf Devlet = MouseState.None Sonra
Yeni ColorBlend gibi cblend Dim (2)
cblend.Colors (0) = Color.FromArgb (50, 50, 50)
cblend.Colors (1) = Color.FromArgb (70, 70, 70)
cblend.Positions (0) = 0
cblend.Positions (1) = 1
DrawGradient (cblend, Yeni Dikdörtgen (0, 0, Genişlik, Yükseklik))
cblend.Colors (1) = Color.FromArgb (80, 80, 80)
Eğer Cam Sonra DrawGradient (cblend, Yeni Dikdörtgen (0, 0, Genişlik, Yükseklik / 5 * 2))
Başka
Yeni ColorBlend gibi cblend Dim (2)
cblend.Colors (0) = Color.FromArgb (30, 30, 30)
cblend.Colors (1) = Color.FromArgb (50, 50, 50)
cblend.Positions (0) = 0
cblend.Positions (1) = 1
DrawGradient (cblend, Yeni Dikdörtgen (0, 0, Genişlik, Yükseklik))
Eğer Cam Sonra DrawGradient (cblend, Yeni Dikdörtgen (0, 0, Genişlik, Yükseklik / 5 * 2))
End If
HatchBrush Dim ambar
ambar = Yeni HatchBrush (HatchStyle.DarkDownwardDiagonal, Color.FromArgb (25, Color.Black), Color.FromArgb (0, Color.Gray))
G.FillRectangle (ambar, 0, 0, Genişlik, Yükseklik)
SizeF = Me.CreateGraphics.MeasureString gibi TEXTSIZE Dim (Metin, Yazı, Genişlik - 4)
Yeni StringFormat olarak sf Dim
sf.LineAlignment = StringAlignment.Center
sf.Alignment = StringAlignment.Center
G.DrawString (Metin, Yazı, Brushes.White, Yeni RectangleF (2, 2, Me.Width - 5, Me.Height - 4), sf)
DrawBorders (Pens.Black)
DrawBorders (Yeni Kalem (Color.FromArgb (90, 90, 90)), 1)
End Sub
End Class
Sınıf GhostProgressbar
Inherits ThemeControl154
As Integer Private _Maximum = 100
Özel _Value As Integer
As Single Özel GlowPosition = -0.7
Özel İlerleme As Integer
Korumalı Overrides Sub ColorHook ()
End Sub
Public Property Maksimum As Integer
Almak
Dönüş _Maximum
Get End
Set (As Integer ByVal V)
Sonra V <1 V = 1
V <_Value Sonra _Value = V ise
_Maximum = V
() Geçersiz
Bitiş Seti
End Property
Kamu Özellik Değer As Integer
Almak
Dönüş _Value
Get End
Set (As Integer ByVal V)
V> _Maximum Sonra V = Maximum ise
_Value = V
() Geçersiz
Bitiş Seti
End Property
As Boolean Public Property Animasyonlu
Almak
Dönüş IsAnimated
Get End
Set (As Boolean ByVal V)
IsAnimated = V
() Geçersiz
GlowPosition = -0.7
Bitiş Seti
End Property
Korumalı Overrides Sub OnAnimation ()
GlowPosition + = 0,015
GlowPosition> = 1 Sonra GlowPosition = -2 ise
End Sub
Korumalı Overrides Sub PaintHook ()
Yeni HatchBrush (HatchStyle.DarkDownwardDiagonal, Color.FromArgb (60, Color.Black)) Dim ambar
G.Clear (Color.FromArgb (0, 30, 30, 30))
Yeni ColorBlend gibi cblend Dim (2)
cblend.Colors (0) = Color.FromArgb (50, 50, 50)
cblend.Colors (1) = Color.FromArgb (70, 70, 70)
cblend.Positions (0) = 0
cblend.Positions (1) = 1
DrawGradient (cblend, Yeni Dikdörtgen (0, 0, CInt (((Genişlik / _Maximum) * _Value) - 2), Yükseklik - 2))
cblend.Colors (1) = Color.FromArgb (80, 80, 80)
DrawGradient (cblend, Yeni Dikdörtgen (0, 0, CInt (((Genişlik / _Maximum) * _Value) - 2), Yükseklik / 5 * 2))
ambar = Yeni HatchBrush (HatchStyle.DarkDownwardDiagonal, Color.FromArgb (25, Color.Black), Color.FromArgb (0, Color.Gray))
G.FillRectangle (ambar, 0, 0, CInt (((Genişlik / _Maximum) * _Value) - 2), Yükseklik - 2)
DrawBorders (Pens.Black)
DrawBorders (Yeni Kalem (Color.FromArgb (90, 90, 90)), 1)
DrawCorners (Color.Black)
G.DrawLine (Yeni Kalem (Color.FromArgb (200, 90, 90, 90)), CInt (((Genişlik / _Maximum) * _Value) - 2), 1, CInt (((Genişlik / _Maximum) * _Value) - 2), Yükseklik - 2)
G.DrawLine (Pens.Black, CInt (((En / _Maximum) * _Value) - 2) +, 1, 2, CInt (((En / _Maximum) * _Value) - 2) + 1, yüksekliği - 3)
İlerleme = CInt (((Genişlik / _Maximum) * _Value))
Yeni ColorBlend gibi cblend2 Dim (3)
cblend2.Colors (0) = Color.FromArgb (0, Color.Gray)
cblend2.Colors (1) = Color.FromArgb (80, Color.DimGray)
cblend2.Colors (2) = Color.FromArgb (0, Color.Gray)
cblend2.Positions = {0, 0.5, 1}
DrawGradient (cblend2 (GlowPosition * İlerleme), 2, 100, Yükseklik - 4, 0.0F)
1, 2, Genişlik - - CInt (((Genişlik / _Maximum Değer> 0 Then G.FillRectangle (Yeni SolidBrush (Color.FromArgb (5, 5, 5)), CInt (((Genişlik / _Maximum) * _Value)) Eğer ) * _Value)) - 1, Yükseklik - 4)
End Sub
Public Sub New ()
_Maximum = 100
= True IsAnimated
End Sub
End Class
Sınıf GhostCheckbox
Inherits ThemeControl154
As Boolean Private _Checked
Public Property As Boolean Kontrol
Almak
Dönüş _Checked
Get End
Set (As Boolean ByVal V)
_Checked = V
() Geçersiz
Bitiş Seti
End Property
Korumalı Overrides Sub ColorHook ()
End Sub
Korumalı Overrides Sub OnTextChanged (System.EventArgs ByVal e As)
MyBase.OnTextChanged (e)
TEXTSIZE olarak Integer Dim
TEXTSIZE = Me.CreateGraphics.MeasureString (Metin, Font) .Width
Me.Width = + 20 yazı boyutu
End Sub
Korumalı Overrides Sub OnClick (System.EventArgs ByVal e As)
MyBase.OnClick (e)
_Checked = True Then _Checked = False Else _Checked = true ise
End Sub
Korumalı Overrides Sub PaintHook ()
G.Clear (Color.FromArgb (60, 60, 60))
HatchBrush Dim asdf
asdf = Yeni HatchBrush (HatchStyle.DarkDownwardDiagonal, Color.FromArgb (35, Color.Black), Color.FromArgb (0, Color.Gray))
G.FillRectangle (Yeni SolidBrush (Color.FromArgb (60, 60, 60)), Yeni Dikdörtgen (0, 0, Genişlik, Yükseklik))
asdf = Yeni HatchBrush (HatchStyle.LightDownwardDiagonal, Color.DimGray)
G.FillRectangle (asdf, 0, 0, Genişlik, Yükseklik)
G.FillRectangle (Yeni SolidBrush (Color.FromArgb (230, 20, 20, 20)), 0, 0, Genişlik, Yükseklik)
G.FillRectangle (Yeni SolidBrush (Color.FromArgb (10, 10, 10)), 3, 3, 10, 10)
Sonra _Checked Eğer
Yeni ColorBlend gibi cblend Dim (2)
cblend.Colors (0) = Color.FromArgb (60, 60, 60),
cblend.Colors (1) = Color.FromArgb (80, 80, 80)
cblend.Positions (0) = 0
cblend.Positions (1) = 1
DrawGradient (cblend, yeni bir dikdörtgen (3, 3, 10, 10))
cblend.Colors (0) = Color.FromArgb (70, 70, 70)
cblend.Colors (1) = Color.FromArgb (100, 100, 100),
DrawGradient (cblend, yeni bir dikdörtgen (3, 3, 10, 4))
HatchBrush Dim ambar
ambar = Yeni HatchBrush (HatchStyle.LightDownwardDiagonal, Color.FromArgb (60, Color.Black), Color.FromArgb (0, Color.Gray))
G.FillRectangle (kapısı, 3, 3, 10, 10)
Başka
HatchBrush Dim ambar
ambar = Yeni HatchBrush (HatchStyle.LightDownwardDiagonal, Color.FromArgb (20, Color.White), Color.FromArgb (0, Color.Gray))
G.FillRectangle (kapısı, 3, 3, 10, 10)
End If
Sonra Devlet = MouseState.Over ise
G.FillRectangle (Yeni SolidBrush (Color.FromArgb (30 Color.Gray)), yeni bir dikdörtgen (3, 3, 10, 10))
ElseIf Devlet = MouseState.Down Sonra
G.FillRectangle (Yeni SolidBrush (Color.FromArgb (30 Color.Black)), yeni bir dikdörtgen (3, 3, 10, 10))
End If
G.DrawRectangle (Pens.Black, 0, 0, 15, 15)
G.DrawRectangle (Yeni Kalem (Color.FromArgb (90, 90, 90)), 1, 1, 13, 13)
G.DrawString (Metin, Yazı, Brushes.White, 17, 1)
End Sub
Public Sub New ()
Me.Size = Yeni Noktası (16, 50)
End Sub
End Class
Sınıf GhostRadiobutton
Inherits ThemeControl154
As Boolean Private _Checked
Public Property As Boolean Kontrol
Almak
Dönüş _Checked
Get End
Set (As Boolean ByVal V)
_Checked = V
() Geçersiz
Bitiş Seti
End Property
Korumalı Overrides Sub OnClick (System.EventArgs ByVal e As)
MyBase.OnClick (e)
Parent.Controls Her Bir C gibi Kontrolü için
Eğer C.GetType.ToString = My.Application.Info.ProductName & Sonra ".GhostRadiobutton"
GhostRadiobutton Dim CC
CC = C
= False CC.Checked
End If
Sonraki
= True _Checked
End Sub
'Www.kodyuvasi.com
Korumalı Overrides Sub ColorHook ()
End Sub
Korumalı Overrides Sub OnTextChanged (System.EventArgs ByVal e As)
MyBase.OnTextChanged (e)
TEXTSIZE olarak Integer Dim
TEXTSIZE = Me.CreateGraphics.MeasureString (Metin, Font) .Width
Me.Width = + 20 yazı boyutu
End Sub
Korumalı Overrides Sub PaintHook ()
G.Clear (Color.FromArgb (60, 60, 60))
HatchBrush Dim asdf
asdf = Yeni HatchBrush (HatchStyle.DarkDownwardDiagonal, Color.FromArgb (35, Color.Black), Color.FromArgb (0, Color.Gray))
G.FillRectangle (Yeni SolidBrush (Color.FromArgb (60, 60, 60)), Yeni Dikdörtgen (0, 0, Genişlik, Yükseklik))
asdf = Yeni HatchBrush (HatchStyle.LightDownwardDiagonal, Color.DimGray)
G.FillRectangle (asdf, 0, 0, Genişlik, Yükseklik)
G.FillRectangle (Yeni SolidBrush (Color.FromArgb (230, 20, 20, 20)), 0, 0, Genişlik, Yükseklik)
G.SmoothingMode = SmoothingMode.AntiAlias
G.FillEllipse (Yeni SolidBrush (Color.Black), 2, 2, 11, 11)
G.DrawEllipse (Pens.Black, 0, 0, 13, 13)
G.DrawEllipse (Yeni Kalem (Color.FromArgb (90, 90, 90)), 1, 1, 11, 11)
_Checked Eğer = False Then
HatchBrush Dim ambar
ambar = Yeni HatchBrush (HatchStyle.LightDownwardDiagonal, Color.FromArgb (20, Color.White), Color.FromArgb (0, Color.Gray))
G.FillEllipse (ambar, 2, 2, 10, 10)
Başka
G.FillEllipse (Yeni SolidBrush (Color.FromArgb (80, 80, 80)), 3, 3, 7, 7)
HatchBrush Dim ambar
ambar = Yeni HatchBrush (HatchStyle.LightDownwardDiagonal, Color.FromArgb (60, Color.Black), Color.FromArgb (0, Color.Gray))
G.FillRectangle (kapısı, 3, 3, 7, 7)
End If
G.DrawString (Metin, Yazı, Brushes.White, 16, 0)
End Sub
Public Sub New ()
Me.Size = Yeni noktası (50, 14)
End Sub
End Class
Sınıf GhostTabControl
Inherits TabControl
As Integer özel XStart (9999)
As Integer özel Xstop (9999)
'Www.kodyuvasi.com
Sub New ()
SetStyle (ControlStyles.AllPaintingInWmPaint Veya ControlStyles.ResizeRedraw Veya ControlStyles.UserPaint Yoksa ControlStyles.DoubleBuffer, True)
DoubleBuffered = True
TabPage'ler yılında TabPage gibi her p
p.BackColor = Color.White
Application.DoEvents ()
p.BackColor = Color.Transparent
Sonraki
End Sub
Korumalı Overrides Sub CreateHandle ()
MyBase.CreateHandle ()
Hizalama = TabAlignment.Top
End Sub
'Www.kodyuvasi.com
Korumalı Overrides Sub OnMouseClick (ByVal e As System.Windows.Forms.MouseEventArgs)
MyBase.OnMouseClick (e)
Integer = 0 Dim indeksi
Integer = Me.CreateGraphics.MeasureString Dim yüksekliği ("Mava Başar" Font) .Height + 8
Tamsayı olarak XStart olarak her a için
Eğer eX> Bir And Then eX <Xstop (indeks) Ve eY <height Ve e.Button = Windows.Forms.MouseButtons.Left
Selectedındex = indeks
() Geçersiz
Başka
End If
index + = 1
Sonraki
End Sub
'Www.kodyuvasi.com
Korumalı Overrides Sub OnPaint (PaintEventArgs ByVal e As)
Yeni Bitmap Olarak B Dim (Genişlik, Yükseklik)
Grafik = Graphics.FromImage gibi G (B) Dim
G.Clear (Color.FromArgb (60, 60, 60))
HatchBrush Dim asdf
asdf = Yeni HatchBrush (HatchStyle.DarkDownwardDiagonal, Color.FromArgb (35, Color.Black), Color.FromArgb (0, Color.Gray))
G.FillRectangle (Yeni SolidBrush (Color.FromArgb (60, 60, 60)), Yeni Dikdörtgen (0, 0, Genişlik, Yükseklik))
asdf = Yeni HatchBrush (HatchStyle.LightDownwardDiagonal, Color.DimGray)
G.FillRectangle (asdf, 0, 0, Genişlik, Yükseklik)
G.FillRectangle (Yeni SolidBrush (Color.FromArgb (230, 20, 20, 20)), 0, 0, Genişlik, Yükseklik)
G.FillRectangle (Brushes.Black, 0, 0, Genişlik, Me.CreateGraphics.MeasureString ("Mava Başar", Font) .Height + 8)
G.FillRectangle (- 2, Yükseklik - Yeni SolidBrush (Color.FromArgb (20, Color.Black)), 2, Me.CreateGraphics.MeasureString (, Genişlik Font) .Height + 7 "Mava Başar" 2)
= 0 As Integer totallength Dim
Integer = 0 Dim indeksi
TabPage'ler yılında TabPage gibi her sekme için
Sonra Selectedındex = endeksi ise
G.FillRectangle (Yeni SolidBrush (Color.FromArgb (60, 60, 60)), totallength, 1, Me.CreateGraphics.MeasureString (tab.Text, yazı tipi) .Width + 15, Me.CreateGraphics.MeasureString ("Mava müthiş "Font) + 10 .Height)
asdf = Yeni HatchBrush (HatchStyle.DarkDownwardDiagonal, Color.FromArgb (35, Color.Black), Color.FromArgb (0, Color.Gray))
G.FillRectangle (Yeni SolidBrush (Color.FromArgb (60, 60, 60)), totallength, 1, Me.CreateGraphics.MeasureString (tab.Text, yazı tipi) .Width + 15, Me.CreateGraphics.MeasureString ("Mava müthiş "Font) + 10 .Height)
asdf = Yeni HatchBrush (HatchStyle.LightDownwardDiagonal, Color.DimGray)
G.FillRectangle (asdf, totallength, 1, Me.CreateGraphics.MeasureString (tab.Text, Font) .Width + 15, Me.CreateGraphics.MeasureString ("Mava Başar", Font) .Height + 10)
G.FillRectangle (Yeni SolidBrush (Color.FromArgb (230, 20, 20, 20)), totallength, 1, Me.CreateGraphics.MeasureString (tab.Text, yazı tipi) .Width + 15, Me.CreateGraphics.MeasureString ("Mava "Başar, Font) .Height + 10)
Yeni LinearGradientBrush (New Point Dim gradyan (totallength, 1) New Point (totallength, Me.CreateGraphics.MeasureString (Color.FromArgb (15, Color.White), Font) .Height + 8) "Mava Başar", Color.Transparent)
G.FillRectangle (gradyan, totallength, 1, Me.CreateGraphics.MeasureString (tab.Text, Font) .Width + 15, Me.CreateGraphics.MeasureString ("Mava Başar", Font) .Height + 5)
G.DrawLine (Yeni Kalem (Color.FromArgb (60, 60, 60)), totallength + Me.CreateGraphics.MeasureString (tab.Text, Font) .Width + 15, 2, totallength + Me.CreateGraphics.MeasureString (sekme. Metin, yazı tipi) .Width + 15, Me.CreateGraphics.MeasureString ("Mava Başar", Font) .Height + 8)
G.DrawLine (Yeni Kalem (Color.FromArgb (60, 60, 60)), totallength, 2, totallength, Me.CreateGraphics.MeasureString ("Mava Başar" Font) .Height + 8)
G.DrawLine (Yeni Kalem (Color.FromArgb (60, 60, 60)), totallength + Me.CreateGraphics.MeasureString (tab.Text, Font) .Width + 15, Me.CreateGraphics.MeasureString ("Mava Başar", Yazı) .Height + 8, Genişlik - 1, Me.CreateGraphics.MeasureString ("Mava Başar", Font) .Height + 8)
G.DrawLine (Yeni Kalem (Color.FromArgb (60, 60, 60)), 1, Me.CreateGraphics.MeasureString (Font) .Height + 8, totallength, Me.CreateGraphics.MeasureString ("Mava" Mava Başar " "Başar, Font) .Height + 8)
End If
Xstart (endeks) = totallength
Xstop (indeks) = totallength + Me.CreateGraphics.MeasureString (tab.Text, Font) .Width + 15
G.DrawString (tab.Text, Yazı, Brushes.White, totallength + 8, 5)
totallength + = Me.CreateGraphics.MeasureString (tab.Text, Font) .Width + 15
index + = 1
Sonraki
G.DrawLine (Yeni Kalem (Color.FromArgb (90, 90, 90)), 1, 1, Genişlik - 2, 1 ') Boven
G.DrawLine (Yeni Kalem (Color.FromArgb (90, 90, 90)), 1, yüksekliği - 2, Genişlik - 2, Yükseklik - 2) 'Onder
G.DrawLine (Yeni Kalem (Color.FromArgb (90, 90, 90)), 1, 1, 1, yüksekliği - 2) 'bağlantılar
G.DrawLine (Yeni Kalem (Color.FromArgb (90, 90, 90)), Genişlik - 2, 1, Genişlik - 2, Yükseklik - 2) 'rechts
G.DrawLine (Pens.Black, 0, 0, Genişlik - 1, 0) 'Boven
G.DrawLine (Pens.Black, 0, Yükseklik - 1, Genişlik, Yükseklik - 1) 'onder
G.DrawLine (Pens.Black, 0, 0, 0, Yükseklik - 1) 'bağlantılar
G.DrawLine (Pens.Black, Genişlik - 1, 0, Genişlik - 1, Yükseklik - 1) 'rechts
e.Graphics.DrawImage (B.Clone, 0, 0)
G.Dispose (): B.Dispose ()
End Sub
'Www.kodyuvasi.com
Korumalı Overrides Sub OnSelectedIndexChanged (System.EventArgs ByVal e As)
MyBase.OnSelectedIndexChanged (e)
() Geçersiz
End Sub
End Class
Sınıf GhostListbox
Inherits ListBox
Public Sub New ()
DrawMode = Windows.Forms.DrawMode.OwnerDrawFixed
SetStyle (ControlStyles.DoubleBuffer, True)
DoubleBuffered = True
BorderStyle = Windows.Forms.BorderStyle.None
ItemHeight = 20
ForeColor = Color.White
End Sub
Korumalı Overrides Sub OnDrawItem (System.Windows.Forms.DrawItemEventArgs ByVal e As)
MyBase.OnDrawItem (e)
E.State = 785 Sonra ise
HatchBrush = Yeni HatchBrush Dim asdf (HatchStyle.LightDownwardDiagonal, Color.FromArgb (78, 78, 78))
e.Graphics.FillRectangle (asdf, e.Bounds)
e.Graphics.FillRectangle (Yeni SolidBrush (Color.FromArgb (220, 70, 70, 70)), e.Bounds)
Başka
HatchBrush = Yeni HatchBrush (HatchStyle.LightDownwardDiagonal, Color.DimGray) Dim asdf
e.Graphics.FillRectangle (Yeni SolidBrush (Color.FromArgb (60, 60, 60)), e.Bounds)
e.Graphics.FillRectangle (asdf, e.Bounds)
e.Graphics.FillRectangle (Yeni SolidBrush (Color.FromArgb (230, 20, 20, 20)), e.Bounds)
End If
Denemek
CreateGraphics.DrawString ("" & Öğeler (e.Index) .ToString (), Yazı, Yeni SolidBrush (ForeColor), e.Bounds.X, e.Bounds.Y + 3)
Yakala: End deneyin
e.Graphics.DrawRectangle (Pens.Black, 0, 0, Genişlik, Yükseklik)
e.Graphics.DrawRectangle (Yeni Kalem (Color.FromArgb (90, 90, 90)), 1, 1, Genişlik - 2, Yükseklik - 2)
End Sub
End Class
Sınıf GhostComboBox
Inherits ComboBox
Sub New ()
MyBase.New ()
SetStyle (ControlStyles.AllPaintingInWmPaint Veya ControlStyles.ResizeRedraw Veya ControlStyles.UserPaint Yoksa ControlStyles.DoubleBuffer, True)
DrawMode = Windows.Forms.DrawMode.OwnerDrawFixed
ItemHeight = 16
BackColor'ı = Color.FromArgb (30, 30, 30)
DropDownStyle = ComboBoxStyle.DropDownList
End Sub
Korumalı Overrides Sub OnPaint (PaintEventArgs ByVal e As)
Değil DropDownStyle = ComboBoxStyle.DropDownList sonra DropDownStyle = ComboBoxStyle.DropDownList halinde
Yeni Bitmap Olarak B Dim (Genişlik, Yükseklik)
Grafik = Graphics.FromImage gibi G (B) Dim
G.Clear (Color.FromArgb (50, 50, 50))
LinearGradientBrush = Yeni LinearGradientBrush (Yeni Dikdörtgen (0, 0, Genişlik, Yükseklik / 5 * 2), Color.FromArgb (20, 0, 0, 0), Color.FromArgb (15, Color.White), 90.0F olarak GradientBrush Dim )
G.FillRectangle (GradientBrush, Yeni Dikdörtgen (0, 0, Genişlik, Yükseklik / 5 * 2))
HatchBrush Dim ambar
ambar = Yeni HatchBrush (HatchStyle.DarkDownwardDiagonal, Color.FromArgb (20, Color.Black), Color.FromArgb (0, Color.Gray))
G.FillRectangle (ambar, 0, 0, Genişlik, Yükseklik)
Tamsayı = G.MeasureString ("...", Font) .Height olarak S1 Dim
> Selectedındex <ise -1 Sonra
G.DrawString (Öğeler (Selectedındex), Yazı, Yeni SolidBrush (Color.White), 4, Yükseklik \ 2 - S1 \ 2)
Başka
Değil Ürünleri Sonra Hiçbirşey Ve Items.Count> 0 mı varsa
G.DrawString (Öğeler (0), Yazı, Yeni SolidBrush (Color.White), 4, Yükseklik \ 2 - S1 \ 2)
Başka
G.DrawString ("...", Yazı, Yeni SolidBrush (Color.White), 4, Yükseklik \ 2 - S1 \ 2)
End If
End If
G.DrawRectangle (Pens.Black, 0, 0, Genişlik - 1, Yükseklik - 1)
G.DrawRectangle (Yeni Kalem (Color.FromArgb (90, 90, 90)), 1, 1, Genişlik - 3, Yükseklik - 3)
G.DrawLine (Yeni Kalem (Color.FromArgb (90, 90, 90)), Genişlik - 25, 1, Genişlik - 25, Yükseklik - 3)
G.DrawLine (Pens.Black, Genişlik - 24, 0, Genişlik - 24, Yükseklik)
G.DrawLine (Yeni Kalem (Color.FromArgb (90, 90, 90)), Genişlik - 23, 1, Genişlik - 23, Yükseklik - 3)
G.FillPolygon (Brushes.Black, Üçgen (Yeni Nokta (Genişlik - 14, Yükseklik \ 2), Yeni Boyut (5, 3)))
G.FillPolygon (Brushes.White, Üçgen (Yeni Nokta (Genişlik - 15, Yükseklik \ 2-1), Yeni Boyut (5, 3)))
e.Graphics.DrawImage (B.Clone, 0, 0)
G.Dispose (): B.Dispose ()
End Sub
Korumalı Overrides Sub OnDrawItem (DrawItemEventArgs ByVal e As)
E.Index <0 Then Exit Sub
) (Yeni Dikdörtgen olarak rect Dim
rect.X = e.Bounds.X
rect.Y = e.Bounds.Y
rect.Width = e.Bounds.Width - 1
rect.Height = e.Bounds.Height - 1
e.DrawBackground ()
Daha sonra e.State = 785 ya da e.State = 17 ise
e.Graphics.FillRectangle (Yeni SolidBrush (Color.FromArgb (50, 50, 50)), e.Bounds)
HatchBrush Dim ambar
ambar = Yeni HatchBrush (HatchStyle.DarkDownwardDiagonal, Color.FromArgb (45, Color.Black), Color.FromArgb (0, Color.Gray))
e.Graphics.FillRectangle (ambar, e.Bounds)
e.Graphics.DrawString (Me.Items (e.Index) .ToString (), e.Font, Brushes.White, e.Bounds.X + 1 e.Bounds.Y)
Başka
e.Graphics.FillRectangle (Yeni SolidBrush (BackColor'ı), e.Bounds)
e.Graphics.DrawString (Me.Items (e.Index) .ToString (), e.Font, Brushes.White, e.Bounds.X + 1 e.Bounds.Y)
End If
MyBase.OnDrawItem (e)
End Sub
Public Function Üçgen Noktası olarak (Point, Boyut olarak ByVal Boyutu ByVal Mevkii) ()
Nokta Dim ReturnPoints (0 3 için)
ReturnPoints (0) = Yer
ReturnPoints (1) = Yeni Noktası (Location.X + Size.Width, Location.Y)
ReturnPoints (2) = Yeni Noktası (Location.X + Size.Width 2 \, Location.Y + Size.Height)
ReturnPoints (3) = Yer
Dönüş ReturnPoints
End Function
Private Sub GhostComboBox_DropDown (As Object ByVal sender, System.EventArgs ByVal e As) Me.DropDown Kolları
End Sub
Private Sub GhostComboBox_DropDownClosed (As Object ByVal sender, System.EventArgs ByVal e As) Me.DropDownClosed Kolları
DropDownStyle = ComboBoxStyle.Simple
Application.DoEvents ()
DropDownStyle = ComboBoxStyle.DropDownList
End Sub
Private Sub GhostCombo_TextChanged (As Object ByVal sender, System.EventArgs ByVal e As) Me.TextChanged Kolları
() Geçersiz
End Sub
End Class
<Tasarımcı ("System.Windows.Forms.Design.ParentControlDesigner, System.Design" gettype (IDesigner))> _
Sınıf GhostGroupBox
Inherits ThemeControl154
Sub New ()
MyBase.New ()
SetStyle (ControlStyles.ResizeRedraw, True)
SetStyle (ControlStyles.ContainerControl, True)
DoubleBuffered = True
BackColor = Color.Transparent
End Sub
Korumalı Overrides Sub ColorHook ()
End Sub
Korumalı Overrides Sub PaintHook ()
G.Clear (Color.FromArgb (60, 60, 60))
HatchBrush Dim asdf
asdf = Yeni HatchBrush (HatchStyle.DarkDownwardDiagonal, Color.FromArgb (35, Color.Black), Color.FromArgb (0, Color.Gray))
G.FillRectangle (Yeni SolidBrush (Color.FromArgb (60, 60, 60)), Yeni Dikdörtgen (0, 0, Genişlik, Yükseklik))
asdf = Yeni HatchBrush (HatchStyle.LightDownwardDiagonal, Color.DimGray)
G.FillRectangle (asdf, 0, 0, Genişlik, Yükseklik)
G.FillRectangle (Yeni SolidBrush (Color.FromArgb (230, 20, 20, 20)), 0, 0, Genişlik, Yükseklik)
G.FillRectangle (Yeni SolidBrush (Color.FromArgb (70, Color.Black)), 1, 1, Genişlik - 2, Me.CreateGraphics.MeasureString (Metin, Font) .Height + 8)
G.DrawLine (Yeni Kalem (Color.FromArgb (90, 90, 90)), 1, Me.CreateGraphics.MeasureString (Metin, Font) .Height + 8, Genişlik - 2, Me.CreateGraphics.MeasureString (Metin, yazı tipi) .Height + 8)
DrawBorders (Pens.Black)
DrawBorders (Yeni Kalem (Color.FromArgb (90, 90, 90)), 1)
G.DrawString (Metin, Yazı, Brushes.White, 5, 5)
End Sub
End Class
Kamu Sınıf GhostTextbox
Inherits TextBox
Function GetWindowDC Lib "-User32" Declare (ByVal hwnd As IntPtr) IntPtr
As Integer Function ReleaseDC Lib "user32.dll" (As IntPtr ByVal HWnd, IntPtr ByVal hDC) beyan
Korumalı Overrides Sub WndProc (System.Windows.Forms.Message olarak ByRef m)
MyBase.WndProc (m)
M.Msg = & HF Sonra ise
Yeni Dikdörtgen (0, 0, MyBase.Width, MyBase.Height) Dim ru
Intptr = GetWindowDC gibi hDC Dim (Me.Handle)
Grafik = Graphics.FromHdc (hDC) Dim g
g.DrawRectangle (Pens.Black, Yeni Dikdörtgen (1, 1, Genişlik - 3, Yükseklik - 3))
g.DrawRectangle (Yeni Kalem (Color.FromArgb (90, 90, 90)), Yeni Dikdörtgen (0, 0, Genişlik - 1, Yükseklik - 1))
ReleaseDC (Me.Handle, hDC)
g.Dispose ()
End If
End Sub
Sub New ()
BackColor = Color.Black
ForeColor = Color.White
Text = Name.ToString
SetStyle (ControlStyles.DoubleBuffer, True)
DoubleBuffered = True
End Sub
End Class
VİSUAL BASİC.NET TEMALARI İNDİR :
http://1drv.ms/1GWJW7x
0 yorum:
Yorum Gönder