14 Kasım 2014 Cuma

Visual Basic.Net Yeni 2 Adet Tema Süperler

Merhaba Arkadaşlar

   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