CoolLoyal Theme [Unique Features]

Posts 1–9 of 9 · Page 1 of 1
Loyal Theme [Unique Features]
Hey everyone! I haven't released a theme in a while, so I decided to release one I started a few months ago, but completed today. It is called Loyal Theme.


Image: Pic1

*LoyalButton1's State is normal, LoyalButton2's State is hover & LoyalButton3's State is down.

This theme isn't like other themes. I have made it so that the close, maximize & minimize buttons are part of the form skin. You can also choose if you want the close, maximize & minimize buttons individually & you can align them to the left or right side. You can also align the title of the form & buttons to Left, Center or Right. Another feature is that you can change the main color of every control.


Here is an example of what is possible with this theme.

Image: Pic2

*LoyalButton1's State is normal, LoyalButton2's State is hover & LoyalButton3's State is down.

Loyal Theme source code
Code:
Imports System.Drawing
Imports System.Drawing.Drawing2D
Imports System.ComponentModel
Imports System.Text
Imports System.Drawing.Text
 
''' <summary>
''' Loyal Theme
''' Created by Earn
''' From **********.net
''' </summary>
''' <remarks></remarks>
 
Enum MouseState
    None = 0
    Over = 1
    Down = 2
End Enum
 
Class LoyalTheme
    Inherits ContainerControl
 
#Region " Back End "
 
#Region " Enums "
 
    Enum ControlsAlign
        Left = 0
        Right = 2
    End Enum
 
    Enum TextAlign
        Left = 0
        Center = 1
        Right = 2
    End Enum
 
#End Region
 
#Region " Declarations "
    Private _Down As Boolean = False
    Private _Header As Integer = 47
    Private _MousePoint As Point
    Private _ControlsFormat As New StringFormat With {.LineAlignment = StringAlignment.Center}
#End Region
 
#Region " Properties "
 
    Private _HeaderColor As Color = Color.Aqua
    <Category("Header Settings")> _
    Public Property HeaderColor() As Color
        Get
            Return _HeaderColor
        End Get
        Set(ByVal value As Color)
            _HeaderColor = value
            Invalidate()
        End Set
    End Property
 
    'Alignments
    Private _ControlsAlignment As ControlsAlign = ControlsAlign.Right
    <Category("Header Settings")> _
    Public Property ControlsAlignment() As ControlsAlign
        Get
            Return _ControlsAlignment
        End Get
        Set(ByVal value As ControlsAlign)
            _ControlsAlignment = value
            Invalidate()
        End Set
    End Property
 
    Private _TextAlignment As TextAlign = TextAlign.Center
    <Category("Header Settings")> _
    Public Property TextAlignment() As TextAlign
        Get
            Return _TextAlignment
        End Get
        Set(ByVal value As TextAlign)
            _TextAlignment = value
            Invalidate()
        End Set
    End Property
 
    'Header Size
    Private _HeaderSize As Integer = 30
    <Category("Header Settings")> _
    Public Property HeaderSize() As Integer
        Get
            Return _HeaderSize
        End Get
        Set(ByVal value As Integer)
            _HeaderSize = value
            Invalidate()
        End Set
    End Property
 
 
    'Show Controls
    Private _ShowClose As Boolean
    <Category("Header Settings")> _
    Public Property ShowClose() As Boolean
        Get
            Return _ShowClose
        End Get
        Set(ByVal value As Boolean)
            _ShowClose = value
            Invalidate()
        End Set
    End Property
 
    Private _ShowMinimize As Boolean
    <Category("Header Settings")> _
    Public Property ShowMinimize() As Boolean
        Get
            Return _ShowMinimize
        End Get
        Set(ByVal value As Boolean)
            _ShowMinimize = value
            Invalidate()
        End Set
    End Property
 
    Private _ShowMaximize As Boolean
    <Category("Header Settings")> _
    Public Property ShowMaximize() As Boolean
        Get
            Return _ShowMaximize
        End Get
        Set(ByVal value As Boolean)
            _ShowMaximize = value
            Invalidate()
        End Set
    End Property
 
#End Region
 
#Region " Mouse States "
 
    Protected Overrides Sub OnMouseDown(e As MouseEventArgs)
        MyBase.OnMouseDown(e)
 
        Select Case ControlsAlignment
            Case ControlsAlign.Right
                '_ShowClose
                If _ShowClose = True Then
                    If New Rectangle(Width - 23, (((_HeaderSize + 2) - 18) / 2), 18, 18).Contains(e.Location) Then
                        Application.Exit()
                    End If
                End If
 
                '_ShowMinimize
                If _ShowMinimize = True Then
                    If _ShowMaximize = True Then
                        If _ShowClose = True Then
 
                            If New Rectangle(Width - 58, (((_HeaderSize + 2) - 18) / 2), 17, 18).Contains(e.Location) Then
                                FindForm.WindowState = FormWindowState.Minimized
                                Exit Sub
                            End If
 
                        Else
                            If New Rectangle(Width - 41, (((_HeaderSize + 2) - 18) / 2), 18, 18).Contains(e.Location) Then
                                FindForm.WindowState = FormWindowState.Minimized
                                Exit Sub
                            End If
                        End If
                    Else
                        If _ShowClose = True Then
                            If New Rectangle(Width - 41, (((_HeaderSize + 2) - 18) / 2), 18, 18).Contains(e.Location) Then
                                FindForm.WindowState = FormWindowState.Minimized
                                Exit Sub
                            End If
                        Else
                            If New Rectangle(Width - 23, (((_HeaderSize + 2) - 18) / 2), 18, 18).Contains(e.Location) Then
                                FindForm.WindowState = FormWindowState.Minimized
                                Exit Sub
                            End If
                        End If
                    End If
                End If
 
                '_ShowMaximize
                If _ShowMaximize = True Then
                    If _ShowClose = True Then
 
                        If New Rectangle(Width - 41, (((_HeaderSize + 2) - 18) / 2), 18, 18).Contains(e.Location) Then
                            If FindForm.WindowState = FormWindowState.Maximized Then
                                FindForm.WindowState = FormWindowState.Normal
                                Refresh()
                            ElseIf FindForm.WindowState = FormWindowState.Normal Then
                                FindForm.WindowState = FormWindowState.Maximized
                                Refresh()
                            End If
                            Exit Sub
                        End If
 
                    Else
                        If New Rectangle(Width - 23, (((_HeaderSize + 2) - 18) / 2), 18, 18).Contains(e.Location) Then
                            If FindForm.WindowState = FormWindowState.Maximized Then
                                FindForm.WindowState = FormWindowState.Normal
                                Refresh()
                            ElseIf FindForm.WindowState = FormWindowState.Normal Then
                                FindForm.WindowState = FormWindowState.Maximized
                                Refresh()
                            End If
                            Exit Sub
                        End If
                    End If
                End If
 
            Case ControlsAlign.Left
                '_ShowClose
                If _ShowClose = True Then
                    If New Rectangle(4, (((_HeaderSize + 2) - 18) / 2), 18, 18).Contains(e.Location) Then
                        Application.Exit()
                    End If
                End If
 
                '_ShowMinimize
                If _ShowMinimize = True Then
                    If _ShowMaximize = True Then
                        If _ShowClose = True Then
 
                            If New Rectangle(40, (((_HeaderSize + 2) - 18) / 2), 17, 18).Contains(e.Location) Then
                                FindForm.WindowState = FormWindowState.Minimized
                                Exit Sub
                            End If
 
                        Else
                            If New Rectangle(22, (((_HeaderSize + 2) - 18) / 2), 18, 18).Contains(e.Location) Then
                                FindForm.WindowState = FormWindowState.Minimized
                                Exit Sub
                            End If
                        End If
                    Else
                        If _ShowClose = True Then
                            If New Rectangle(22, (((_HeaderSize + 2) - 18) / 2), 18, 18).Contains(e.Location) Then
                                FindForm.WindowState = FormWindowState.Minimized
                                Exit Sub
                            End If
                        Else
                            If New Rectangle(4, (((_HeaderSize + 2) - 18) / 2), 18, 18).Contains(e.Location) Then
                                FindForm.WindowState = FormWindowState.Minimized
                                Exit Sub
                            End If
                        End If
                    End If
                End If
 
                '_ShowMaximize
                If _ShowMaximize = True Then
                    If _ShowClose = True Then
 
                        If New Rectangle(22, (((_HeaderSize + 2) - 18) / 2), 18, 18).Contains(e.Location) Then
                            If FindForm.WindowState = FormWindowState.Maximized Then
                                FindForm.WindowState = FormWindowState.Normal
                                Refresh()
                            ElseIf FindForm.WindowState = FormWindowState.Normal Then
                                FindForm.WindowState = FormWindowState.Maximized
                                Refresh()
                            End If
                            Exit Sub
                        End If
 
                    Else
                        If New Rectangle(4, (((_HeaderSize + 2) - 18) / 2), 18, 18).Contains(e.Location) Then
                            If FindForm.WindowState = FormWindowState.Maximized Then
                                FindForm.WindowState = FormWindowState.Normal
                                Refresh()
                            ElseIf FindForm.WindowState = FormWindowState.Normal Then
                                FindForm.WindowState = FormWindowState.Maximized
                                Refresh()
                            End If
                            Exit Sub
                        End If
                    End If
                End If
        End Select
 
        If e.Y < _Header AndAlso e.Button = Windows.Forms.MouseButtons.Left Then
            _Down = True
            _MousePoint = New Point(e.Location)
        End If
    End Sub
 
    Protected Overrides Sub OnMouseUp(e As MouseEventArgs)
        MyBase.OnMouseUp(e)
        _Down = False
    End Sub
 
    Protected Overrides Sub OnMouseMove(e As MouseEventArgs)
        MyBase.OnMouseMove(e)
        If _Down = True Then
            ParentForm.Location = MousePosition - _MousePoint
        End If
    End Sub
 
#End Region
 
#Region " Misc "
    Protected Overrides Sub OnCreateControl()
        MyBase.OnCreateControl()
        Dock = DockStyle.Fill
        ParentForm.TransparencyKey = Color.Fuchsia
        ParentForm.FormBorderStyle = FormBorderStyle.None
        BackColor = Color.FromArgb(31, 31, 31)
        Invalidate()
    End Sub
 
#End Region
 
#End Region
 
    Protected Overrides Sub OnPaint(e As PaintEventArgs)
        MyBase.OnPaint(e)
        Dim G = e.Graphics
        With G
            Dim _StringF As New StringFormat With {.LineAlignment = StringAlignment.Center}
            .Clear(Color.FromArgb(31, 31, 31))
            .FillRectangle(New SolidBrush(_HeaderColor), New Rectangle(0, 0, Width, 5))
            .FillRectangle(New SolidBrush(Color.FromArgb(34, 34, 34)), New Rectangle(0, 5, Width, _HeaderSize))
            .DrawLine(New Pen(Color.FromArgb(38, 38, 38)), New Point(0, _HeaderSize + 5), New Point(Width, _HeaderSize + 5))
            .DrawLine(New Pen(Color.FromArgb(24, 24, 24)), New Point(0, _HeaderSize + 6), New Point(Width, _HeaderSize + 6))
            .DrawLine(Pens.Fuchsia, New Point(0, 0), New Point(0, 2))
            .DrawLine(Pens.Fuchsia, New Point(0, 0), New Point(2, 0))
            .DrawLine(Pens.Fuchsia, New Point(Width - 1, 0), New Point(Width - 1, 2))
            .DrawLine(Pens.Fuchsia, New Point(Width - 1, 0), New Point(Width - 3, 0))
            If _ControlsAlignment = ControlsAlign.Right Then
                If _ShowClose = True Then
                    .DrawString("r", New Font("Marlett", 11), Brushes.White, New RectangleF(Width - 23, 5, 23, _HeaderSize + 3), _ControlsFormat)
                End If
                If _ShowMinimize = True Then
                    If _ShowMaximize = True Then
                        If _ShowClose = True Then
                            G.DrawString("0", New Font("Marlett", 11), Brushes.White, New RectangleF(Width - 57, 5, 23, _HeaderSize + 3), _ControlsFormat)
                        Else
                            G.DrawString("0", New Font("Marlett", 11), Brushes.White, New RectangleF(Width - 41, 5, 23, _HeaderSize + 3), _ControlsFormat)
                        End If
                    Else
                        If _ShowClose = True Then
                            G.DrawString("0", New Font("Marlett", 11), Brushes.White, New RectangleF(Width - 41, 5, 23, _HeaderSize + 3), _ControlsFormat)
                        Else
                            G.DrawString("0", New Font("Marlett", 11), Brushes.White, New RectangleF(Width - 23, 5, 23, _HeaderSize + 3), _ControlsFormat)
                        End If
                    End If
                End If
                If _ShowMaximize = True Then
                    If _ShowClose = True Then
                        If FindForm.WindowState = FormWindowState.Maximized Then
                            .DrawString("1", New Font("Marlett", 11), Brushes.White, New RectangleF(Width - 41, 5, 23, _HeaderSize + 3), _ControlsFormat)
                        ElseIf FindForm.WindowState = FormWindowState.Normal Then
                            .DrawString("2", New Font("Marlett", 11), Brushes.White, New RectangleF(Width - 41, 5, 23, _HeaderSize + 3), _ControlsFormat)
                        End If
                    Else
                        If FindForm.WindowState = FormWindowState.Maximized Then
                            .DrawString("1", New Font("Marlett", 11), Brushes.White, New RectangleF(Width - 23, 5, 23, _HeaderSize + 3), _ControlsFormat)
                        ElseIf FindForm.WindowState = FormWindowState.Normal Then
                            .DrawString("2", New Font("Marlett", 11), Brushes.White, New RectangleF(Width - 23, 5, 23, _HeaderSize + 3), _ControlsFormat)
                        End If
                    End If
                End If
            End If
            If _ControlsAlignment = ControlsAlign.Left Then
                If _ShowClose = True Then
                    .DrawString("r", New Font("Marlett", 11), Brushes.White, New RectangleF(5, 5, 23, _HeaderSize + 3), _ControlsFormat)
                End If
                If _ShowMinimize = True Then
                    If _ShowMaximize = True Then
                        If _ShowClose = True Then
                            G.DrawString("0", New Font("Marlett", 11), Brushes.White, New RectangleF(41, 5, 23, _HeaderSize + 3), _ControlsFormat)
                        Else
                            G.DrawString("0", New Font("Marlett", 11), Brushes.White, New RectangleF(23, 5, 23, _HeaderSize + 3), _ControlsFormat)
                        End If
                    Else
                        If _ShowClose = True Then
                            G.DrawString("0", New Font("Marlett", 11), Brushes.White, New RectangleF(23, 5, 23, _HeaderSize + 3), _ControlsFormat)
                        Else
                            G.DrawString("0", New Font("Marlett", 11), Brushes.White, New RectangleF(5, 5, 23, _HeaderSize + 3), _ControlsFormat)
                        End If
                    End If
                End If
                If _ShowMaximize = True Then
                    If _ShowClose = True Then
                        If FindForm.WindowState = FormWindowState.Maximized Then
                            .DrawString("1", New Font("Marlett", 11), Brushes.White, New RectangleF(23, 5, 23, _HeaderSize + 3), _ControlsFormat)
                        ElseIf FindForm.WindowState = FormWindowState.Normal Then
                            .DrawString("2", New Font("Marlett", 11), Brushes.White, New RectangleF(23, 5, 23, _HeaderSize + 3), _ControlsFormat)
                        End If
                    Else
                        If FindForm.WindowState = FormWindowState.Maximized Then
                            .DrawString("1", New Font("Marlett", 11), Brushes.White, New RectangleF(5, 5, 23, _HeaderSize + 3), _ControlsFormat)
                        ElseIf FindForm.WindowState = FormWindowState.Normal Then
                            .DrawString("2", New Font("Marlett", 11), Brushes.White, New RectangleF(5, 5, 23, _HeaderSize + 3), _ControlsFormat)
                        End If
                    End If
                End If
            End If
            Select Case _TextAlignment
                Case TextAlign.Center
                    _StringF.Alignment = StringAlignment.Center
                    .DrawString(Text, New Font("Arial", 9), Brushes.White, New RectangleF(0, 5, Width, _HeaderSize), _StringF)
 
                Case TextAlign.Left
                    .DrawString(Text, New Font("Arial", 9), Brushes.White, New RectangleF(10, 5, Width, _HeaderSize), _StringF)
 
                Case TextAlign.Right
                    Dim _TextLength As Integer = TextRenderer.MeasureText(Text, New Font("Arial", 9)).Width + 10
                    .DrawString(Text, New Font("Arial", 9), Brushes.White, New RectangleF(Width - _TextLength, 5, Width, _HeaderSize), _StringF)
            End Select
        End With
    End Sub
End Class
 
Class LoyalButton
    Inherits Control
 
#Region " Back End "
 
#Region " Enums "
    Enum Alignment
        Left = 0
        Center = 1
        Right = 2
    End Enum
#End Region
 
#Region " Declarations "
    Private _State As MouseState = MouseState.None
#End Region
 
#Region " Mouse States "
 
    Protected Overrides Sub OnMouseEnter(e As EventArgs)
        MyBase.OnMouseEnter(e)
        _State = MouseState.Over
        Invalidate()
    End Sub
 
    Protected Overrides Sub OnMouseLeave(e As EventArgs)
        MyBase.OnMouseLeave(e)
        _State = MouseState.None
        Invalidate()
    End Sub
 
    Protected Overrides Sub OnMouseDown(e As MouseEventArgs)
        MyBase.OnMouseDown(e)
        _State = MouseState.Down
        Invalidate()
    End Sub
 
    Protected Overrides Sub OnMouseUp(e As MouseEventArgs)
        MyBase.OnMouseUp(e)
        _State = MouseState.Over
        Invalidate()
    End Sub
 
#End Region
 
#Region " Properties "
 
    Private _TextAlignment As Alignment = Alignment.Center
    <Category("Button Settings")> _
    Public Property TextAlignment() As Alignment
        Get
            Return _TextAlignment
        End Get
        Set(ByVal value As Alignment)
            _TextAlignment = value
            Invalidate()
        End Set
    End Property
 
    Private _OutlineColor As Color = Color.FromArgb(102, 51, 153)
    <Category("Button Settings")> _
    Public Property OutlineColor() As Color
        Get
            Return _OutlineColor
        End Get
        Set(ByVal value As Color)
            _OutlineColor = value
            Invalidate()
        End Set
    End Property
 
#End Region
 
    Sub New()
        Size = New Size(75, 25)
    End Sub
#End Region
 
    Protected Overrides Sub OnPaint(e As PaintEventArgs)
        MyBase.OnPaint(e)
        Dim G = e.Graphics
        With G
            .Clear(Color.FromArgb(40, 40, 40))
            Select Case _State
                Case MouseState.None
                    .DrawRectangle(New Pen(Color.FromArgb(24, 24, 24)), New Rectangle(0, 0, Width - 1, Height - 1))
                Case MouseState.Over
                    .DrawRectangle(New Pen(_OutlineColor), New Rectangle(0, 0, Width - 1, Height - 1))
 
                Case MouseState.Down
                    .FillRectangle(New SolidBrush(Color.FromArgb(30, 30, 30)), New Rectangle(0, 0, Width - 1, Height - 1))
                    .DrawRectangle(New Pen(_OutlineColor), New Rectangle(0, 0, Width - 1, Height - 1))
            End Select
            .DrawRectangle(New Pen(Color.FromArgb(48, 48, 48)), New Rectangle(1, 1, Width - 3, Height - 3))
            .FillRectangle(New SolidBrush(Color.FromArgb(35, 35, 35)), New Rectangle(0, 0, 1, 1))
            .FillRectangle(New SolidBrush(Color.FromArgb(35, 35, 35)), New Rectangle(0, Height - 1, 1, 1))
            .FillRectangle(New SolidBrush(Color.FromArgb(35, 35, 35)), New Rectangle(Width - 1, 0, 1, 1))
            .FillRectangle(New SolidBrush(Color.FromArgb(35, 35, 35)), New Rectangle(Width - 1, Height - 1, 1, 1))
            Dim _StringF As New StringFormat With {.LineAlignment = StringAlignment.Center}
            Select Case _TextAlignment
                Case Alignment.Center
                    _StringF.Alignment = StringAlignment.Center
                    .DrawString(Text, New Font("Arial", 9), Brushes.White, New RectangleF(0, 0, Width - 1, Height - 1), _StringF)
                Case Alignment.Left
                    .DrawString(Text, New Font("Arial", 9), Brushes.White, New RectangleF(7, 0, Width - 11, Height - 1), _StringF)
                Case Alignment.Right
                    Dim _StringLength As Integer = TextRenderer.MeasureText(Text, New Font("Arial", 9)).Width + 8
                    .DrawString(Text, New Font("Arial", 9), Brushes.White, New Rectangle(Width - _StringLength, 0, Width - _StringLength, Height - 1), _StringF)
            End Select
        End With
    End Sub
End Class
 
Class LoyalGroupBox
    Inherits ContainerControl
 
#Region " Back End "
 
#Region " Enums "
 
    Enum TextAlign
        Left = 0
        Center = 1
        Right = 2
    End Enum
 
#End Region
 
#Region " Properties "
 
    Private _HeaderSize As Integer = 35
    <Category("Header Properties")> _
    Public Property HeaderSize() As Integer
        Get
            Return _HeaderSize
        End Get
        Set(ByVal value As Integer)
            _HeaderSize = value
            Invalidate()
        End Set
    End Property
 
    Private _HeaderColor As Color = Color.FromArgb(102, 51, 153)
    <Category("Header Properties")> _
    Public Property HeaderColor() As Color
        Get
            Return _HeaderColor
        End Get
        Set(ByVal value As Color)
            _HeaderColor = value
            Invalidate()
        End Set
    End Property
 
    Private _TextAlignment As TextAlign = TextAlign.Left
    Public Property TextAlignment() As TextAlign
        Get
            Return _TextAlignment
        End Get
        Set(ByVal value As TextAlign)
            _TextAlignment = value
        End Set
    End Property
 
#End Region
 
    Protected Overrides Sub OnCreateControl()
        MyBase.OnCreateControl()
        BackColor = Color.FromArgb(40, 40, 40)
    End Sub
 
    Sub New()
        Size = New Size(200, 100)
    End Sub
 
#End Region
 
    Protected Overrides Sub OnPaint(e As PaintEventArgs)
        MyBase.OnPaint(e)
        Dim G = e.Graphics
        With G
            .Clear(Color.FromArgb(40, 40, 40))
            .FillRectangle(New SolidBrush(_HeaderColor), New Rectangle(5, 5, Width - 10, _HeaderSize - 5))
            .DrawLine(New Pen(Color.FromArgb(30, Color.White)), New Point(6, 5), New Point(Width - 6, 5))
            .FillRectangle(New SolidBrush(Color.FromArgb(35, 35, 35)), New Rectangle(0, 0, 1, 1))
            .FillRectangle(New SolidBrush(Color.FromArgb(35, 35, 35)), New Rectangle(Width - 1, 0, 1, 1))
            .DrawLine(New Pen(Color.FromArgb(70, Color.Black)), New Point(5, _HeaderSize), New Point(Width - 6, _HeaderSize))
            .DrawRectangle(New Pen(Color.FromArgb(18, 18, 18)), New Rectangle(0, 0, Width - 1, Height - 1))
            .FillRectangle(New SolidBrush(Color.FromArgb(40, 40, 40)), New Rectangle(5, 5, 1, 1))
            .FillRectangle(New SolidBrush(Color.FromArgb(40, 40, 40)), New Rectangle(Width - 6, 5, 1, 1))
            .FillRectangle(New SolidBrush(Color.FromArgb(35, 35, 35)), New Rectangle(0, 0, 1, 1))
            .FillRectangle(New SolidBrush(Color.FromArgb(35, 35, 35)), New Rectangle(0, Height - 1, 1, 1))
            .FillRectangle(New SolidBrush(Color.FromArgb(35, 35, 35)), New Rectangle(Width - 1, 0, 1, 1))
            .FillRectangle(New SolidBrush(Color.FromArgb(35, 35, 35)), New Rectangle(Width - 1, Height - 1, 1, 1))
            Dim _StringF As New StringFormat With {.LineAlignment = StringAlignment.Center}
            Select Case _TextAlignment
                Case TextAlign.Center
                    _StringF.Alignment = StringAlignment.Center
                    .DrawString(Text, New Font("Arial", 9), Brushes.White, New RectangleF(5, 5, Width - 10, _HeaderSize - 5), _StringF)
                Case TextAlign.Left
                    .DrawString(Text, New Font("Arial", 9), Brushes.White, New RectangleF(12, 5, Width - 10, _HeaderSize - 5), _StringF)
                Case TextAlign.Right
                    Dim _StringLength As Integer = TextRenderer.MeasureText(Text, New Font("Arial", 9)).Width + 8
                    .DrawString(Text, New Font("Arial", 9), Brushes.White, New Rectangle(Width - _StringLength, 5, Width - _StringLength, _HeaderSize - 5), _StringF)
            End Select
        End With
    End Sub
End Class
 
<DefaultEvent("CheckedChanged")>
Class LoyalRadioButton
    Inherits Control
 
#Region " Back End "
 
#Region " Declarations "
    Private _State As MouseState = MouseState.None
    Private _Checked As Boolean
#End Region
 
#Region " Properties "
    Property Checked() As Boolean
        Get
            Return _Checked
        End Get
        Set(value As Boolean)
            _Checked = value
            InvalidateControls()
            RaiseEvent CheckedChanged(Me)
            Invalidate()
        End Set
    End Property
    Event CheckedChanged(ByVal sender As Object)
    Protected Overrides Sub OnClick(e As EventArgs)
        If Not _Checked Then Checked = True
        MyBase.OnClick(e)
    End Sub
    Private Sub InvalidateControls()
        If Not IsHandleCreated OrElse Not _Checked Then Return
        For Each C As Control In Parent.Controls
            If C IsNot Me AndAlso TypeOf C Is LoyalRadioButton Then
                DirectCast(C, LoyalRadioButton).Checked = False
                Invalidate()
            End If
        Next
    End Sub
 
    Private _CheckedColor As Color = Color.FromArgb(102, 51, 153)
    <Category("Colors Settings")> _
    Public Property CheckedColor() As Color
        Get
            Return _CheckedColor
        End Get
        Set(ByVal value As Color)
            _CheckedColor = value
            Invalidate()
        End Set
    End Property
    Protected Overrides Sub OnCreateControl()
        MyBase.OnCreateControl()
        InvalidateControls()
    End Sub
 
 
    Protected Overrides Sub OnResize(e As EventArgs)
        MyBase.OnResize(e)
        Height = 16
    End Sub
 
#Region " Mouse States "
 
    Protected Overrides Sub OnMouseDown(e As MouseEventArgs)
        MyBase.OnMouseDown(e)
        _State = MouseState.Down
        Invalidate()
    End Sub
    Protected Overrides Sub OnMouseUp(e As MouseEventArgs)
        MyBase.OnMouseUp(e)
        _State = MouseState.Over
        Invalidate()
    End Sub
    Protected Overrides Sub OnMouseEnter(e As EventArgs)
        MyBase.OnMouseEnter(e)
        _State = MouseState.Over
        Invalidate()
    End Sub
    Protected Overrides Sub OnMouseLeave(e As EventArgs)
        MyBase.OnMouseLeave(e)
        _State = MouseState.None
        Invalidate()
    End Sub
 
#End Region
 
#End Region
 
#End Region
 
    Protected Overrides Sub OnPaint(e As PaintEventArgs)
        MyBase.OnPaint(e)
        Dim G = e.Graphics
        G.SmoothingMode = SmoothingMode.AntiAlias
        G.Clear(Parent.BackColor)
        If Parent.BackColor = Color.FromArgb(40, 40, 40) Then
            G.FillEllipse(New SolidBrush(Color.FromArgb(35, 35, 35)), New Rectangle(0, 0, 13, 13))
        Else
            G.FillEllipse(New SolidBrush(Color.FromArgb(40, 40, 40)), New Rectangle(0, 0, 13, 13))
        End If
        G.DrawEllipse(New Pen(Color.FromArgb(18, 18, 18)), New Rectangle(0, 0, 13, 13))
 
        If Checked Then
            G.FillEllipse(New SolidBrush(_CheckedColor), New Rectangle(3, 3, 7, 7))
        End If
        G.DrawString(Text, New Font("Arial", 9), Brushes.White, New Point(18, 0))
    End Sub
End Class
 
<DefaultEvent("CheckedChanged")>
Class LoyalCheckBox
    Inherits Control
 
#Region " Back End "
 
#Region " Declarations "
    Private _State As MouseState = MouseState.None
    Private _Checked As Boolean
#End Region
 
#Region " Properties "
    Property Checked() As Boolean
        Get
            Return _Checked
        End Get
        Set(value As Boolean)
            _Checked = value
            RaiseEvent CheckedChanged(Me)
            Invalidate()
        End Set
    End Property
    Event CheckedChanged(ByVal sender As Object)
    Protected Overrides Sub OnClick(e As EventArgs)
        If Not _Checked Then
            Checked = True
        Else
            Checked = False
        End If
        MyBase.OnClick(e)
    End Sub
 
    Private _CheckedColor As Color = Color.FromArgb(102, 51, 153)
    <Category("Colors Settings")> _
    Public Property CheckedColor() As Color
        Get
            Return _CheckedColor
        End Get
        Set(ByVal value As Color)
            _CheckedColor = value
            Invalidate()
        End Set
    End Property
 
    Protected Overrides Sub OnResize(e As EventArgs)
        MyBase.OnResize(e)
        Height = 16
    End Sub
 
#Region " Mouse States "
 
    Protected Overrides Sub OnMouseDown(e As MouseEventArgs)
        MyBase.OnMouseDown(e)
        _State = MouseState.Down
        Invalidate()
    End Sub
    Protected Overrides Sub OnMouseUp(e As MouseEventArgs)
        MyBase.OnMouseUp(e)
        _State = MouseState.Over
        Invalidate()
    End Sub
    Protected Overrides Sub OnMouseEnter(e As EventArgs)
        MyBase.OnMouseEnter(e)
        _State = MouseState.Over
        Invalidate()
    End Sub
    Protected Overrides Sub OnMouseLeave(e As EventArgs)
        MyBase.OnMouseLeave(e)
        _State = MouseState.None
        Invalidate()
    End Sub
 
#End Region
 
#End Region
 
#End Region
 
    Protected Overrides Sub OnPaint(e As PaintEventArgs)
        MyBase.OnPaint(e)
        Dim G = e.Graphics
        G.Clear(Parent.BackColor)
        If Parent.BackColor = Color.FromArgb(40, 40, 40) Then
            G.FillRectangle(New SolidBrush(Color.FromArgb(35, 35, 35)), New Rectangle(0, 0, 13, 13))
        Else
            G.FillRectangle(New SolidBrush(Color.FromArgb(40, 40, 40)), New Rectangle(0, 0, 13, 13))
        End If
        G.DrawRectangle(New Pen(Color.FromArgb(18, 18, 18)), New Rectangle(0, 0, 13, 13))
 
        If Checked Then
            G.FillRectangle(New SolidBrush(_CheckedColor), New Rectangle(3, 3, 8, 8))
        End If
        G.DrawString(Text, New Font("Arial", 9), Brushes.White, New Point(18, 0))
    End Sub
End Class
 
Class LoyalProgressBar
    Inherits Control
 
#Region " Back End "
 
#Region " Variables "
    Private _Value As Integer = 0
    Private _Maximum As Integer = 100
#End Region
 
#Region " Control "
    <Category("Control")>
    Public Property Maximum() As Integer
        Get
            Return _Maximum
        End Get
        Set(V As Integer)
            Select Case V
                Case Is < _Value
                    _Value = V
            End Select
            _Maximum = V
            Invalidate()
        End Set
    End Property
 
    <Category("Control")>
    Public Property Value() As Integer
        Get
            Select Case _Value
                Case 0
                    Return 0
                    Invalidate()
                Case Else
                    Return _Value
                    Invalidate()
            End Select
        End Get
        Set(V As Integer)
            Select Case V
                Case Is > _Maximum
                    V = _Maximum
                    Invalidate()
            End Select
            _Value = V
            Invalidate()
        End Set
    End Property
#End Region
 
#Region " Events "
    Protected Overrides Sub OnResize(e As EventArgs)
        MyBase.OnResize(e)
        Height = 25
    End Sub
 
    Protected Overrides Sub CreateHandle()
        MyBase.CreateHandle()
        Height = 25
    End Sub
 
    Public Sub Increment(ByVal Amount As Integer)
        Value += Amount
    End Sub
#End Region
 
#Region " Properties "
    Private _ProgressColor As Color = Color.FromArgb(102, 51, 153)
    <Category("Header Properties")> _
    Public Property ProgressColor() As Color
        Get
            Return _ProgressColor
        End Get
        Set(ByVal value As Color)
            _ProgressColor = value
            Invalidate()
        End Set
    End Property
#End Region
 
    Sub New()
        SetStyle(ControlStyles.AllPaintingInWmPaint Or ControlStyles.UserPaint Or _
                 ControlStyles.ResizeRedraw Or ControlStyles.OptimizedDoubleBuffer, True)
        DoubleBuffered = True
    End Sub
#End Region
 
    Protected Overrides Sub OnPaint(e As PaintEventArgs)
        MyBase.OnPaint(e)
        Dim G = e.Graphics
        G.TextRenderingHint = TextRenderingHint.ClearTypeGridFit
        G.SmoothingMode = SmoothingMode.HighQuality
        G.PixelOffsetMode = PixelOffsetMode.HighQuality
        If Parent.BackColor = Color.FromArgb(40, 40, 40) Then
            G.Clear(Color.FromArgb(35, 35, 35))
        Else
            G.Clear(Color.FromArgb(40, 40, 40))
        End If
        Dim _Progress As Integer = CInt(_Value / _Maximum * Width)
        G.DrawRectangle(New Pen(Color.FromArgb(18, 18, 18)), 0, 0, Width, Height)
        G.FillRectangle(New SolidBrush(_ProgressColor), New Rectangle(0, 0, _Progress - 1, Height))
        G.DrawLine(New Pen(Color.FromArgb(30, Color.White)), New Point(0, 0), New Point(_Progress - 1, 0))
        G.FillRectangle(New SolidBrush(Color.FromArgb(35, 35, 35)), New Rectangle(0, 0, 1, 1))
        G.FillRectangle(New SolidBrush(Color.FromArgb(35, 35, 35)), New Rectangle(Width - 1, 0, 1, 1))
        G.DrawLine(New Pen(Color.FromArgb(70, Color.Black)), New Point(0, Height), New Point(_Progress - 1, Height))
        G.InterpolationMode = CType(7, InterpolationMode)
    End Sub
End Class
 
<DefaultEvent("TextChanged")>
Class LoyalTextBox
    Inherits Control
 
#Region " Back End "
 
#Region " Variables "
    Private _State As MouseState = MouseState.None
    Private WithEvents TB As Windows.Forms.TextBox
#End Region
 
#Region " Properties "
 
#Region " TextBox Properties "
 
    Private _TextAlign As HorizontalAlignment = HorizontalAlignment.Left
    <Category("Options")> _
    Property TextAlign() As HorizontalAlignment
        Get
            Return _TextAlign
        End Get
        Set(ByVal value As HorizontalAlignment)
            _TextAlign = value
            If TB IsNot Nothing Then
                TB.TextAlign = value
            End If
        End Set
    End Property
    Private _MaxLength As Integer = 32767
    <Category("Options")> _
    Property MaxLength() As Integer
        Get
            Return _MaxLength
        End Get
        Set(ByVal value As Integer)
            _MaxLength = value
            If TB IsNot Nothing Then
                TB.MaxLength = value
            End If
        End Set
    End Property
    Private _ReadOnly As Boolean
    <Category("Options")> _
    Property [ReadOnly]() As Boolean
        Get
            Return _ReadOnly
        End Get
        Set(ByVal value As Boolean)
            _ReadOnly = value
            If TB IsNot Nothing Then
                TB.ReadOnly = value
            End If
        End Set
    End Property
    Private _UseSystemPasswordChar As Boolean
    <Category("Options")> _
    Property UseSystemPasswordChar() As Boolean
        Get
            Return _UseSystemPasswordChar
        End Get
        Set(ByVal value As Boolean)
            _UseSystemPasswordChar = value
            If TB IsNot Nothing Then
                TB.UseSystemPasswordChar = value
            End If
        End Set
    End Property
    Private _Multiline As Boolean
    <Category("Options")> _
    Property Multiline() As Boolean
        Get
            Return _Multiline
        End Get
        Set(ByVal value As Boolean)
            _Multiline = value
            If TB IsNot Nothing Then
                TB.Multiline = value
 
                If value Then
                    TB.Height = Height - 11
                Else
                    Height = TB.Height + 11
                End If
 
            End If
        End Set
    End Property
    <Category("Options")> _
    Overrides Property Text As String
        Get
            Return MyBase.Text
        End Get
        Set(ByVal value As String)
            MyBase.Text = value
            If TB IsNot Nothing Then
                TB.Text = value
            End If
        End Set
    End Property
    <Category("Options")> _
    Overrides Property Font As Font
        Get
            Return MyBase.Font
        End Get
        Set(ByVal value As Font)
            MyBase.Font = value
            If TB IsNot Nothing Then
                TB.Font = value
                TB.Location = New Point(3, 5)
                TB.Width = Width - 6
 
                If Not _Multiline Then
                    Height = TB.Height + 11
                End If
            End If
        End Set
    End Property
 
    Protected Overrides Sub OnCreateControl()
        MyBase.OnCreateControl()
        If Not Controls.Contains(TB) Then
            Controls.Add(TB)
        End If
    End Sub
    Private Sub OnBaseTextChanged(ByVal s As Object, ByVal e As EventArgs)
        Text = TB.Text
    End Sub
    Private Sub OnBaseKeyDown(ByVal s As Object, ByVal e As KeyEventArgs)
        If e.Control AndAlso e.KeyCode = Keys.A Then
            TB.SelectAll()
            e.SuppressKeyPress = True
        End If
        If e.Control AndAlso e.KeyCode = Keys.C Then
            TB.Copy()
            e.SuppressKeyPress = True
        End If
    End Sub
    Protected Overrides Sub OnResize(ByVal e As EventArgs)
        TB.Location = New Point(5, 5)
        TB.Width = Width - 10
 
        If _Multiline Then
            TB.Height = Height - 11
        Else
            Height = TB.Height + 11
        End If
 
        MyBase.OnResize(e)
    End Sub
 
#End Region
 
#Region " Mouse States "
 
    Protected Overrides Sub OnMouseDown(e As MouseEventArgs)
        MyBase.OnMouseDown(e)
        _State = MouseState.Down
        Invalidate()
    End Sub
    Protected Overrides Sub OnMouseUp(e As MouseEventArgs)
        MyBase.OnMouseUp(e)
        _State = MouseState.Over
        TB.Focus()
        Invalidate()
    End Sub
    Protected Overrides Sub OnMouseEnter(e As EventArgs)
        MyBase.OnMouseEnter(e)
        _State = MouseState.Over
        TB.Focus()
        Invalidate()
    End Sub
    Protected Overrides Sub OnMouseLeave(e As EventArgs)
        MyBase.OnMouseLeave(e)
        _State = MouseState.None
        Invalidate()
    End Sub
 
#End Region
 
#End Region
 
    Sub New()
        SetStyle(ControlStyles.AllPaintingInWmPaint Or ControlStyles.UserPaint Or _
                 ControlStyles.ResizeRedraw Or ControlStyles.OptimizedDoubleBuffer Or _
                 ControlStyles.SupportsTransparentBackColor, True)
        DoubleBuffered = True
        BackColor = Color.Transparent
        TB = New Windows.Forms.TextBox
        TB.Font = New Font("Arial", 9)
        TB.Text = Text
        TB.BackColor = Color.FromArgb(40, 40, 40)
        TB.ForeColor = Color.White
        TB.MaxLength = _MaxLength
        TB.Multiline = _Multiline
        TB.ReadOnly = _ReadOnly
        TB.UseSystemPasswordChar = _UseSystemPasswordChar
        TB.BorderStyle = BorderStyle.None
        TB.Location = New Point(5, 5)
        TB.Width = Width - 10
 
        TB.Cursor = Cursors.IBeam
 
        If _Multiline Then
            TB.Height = Height - 11
        Else
            Height = TB.Height + 11
        End If
 
        AddHandler TB.TextChanged, AddressOf OnBaseTextChanged
        AddHandler TB.KeyDown, AddressOf OnBaseKeyDown
    End Sub
#End Region
 
    Protected Overrides Sub OnPaint(e As PaintEventArgs)
        MyBase.OnPaint(e)
        Dim G = e.Graphics
        G.Clear(Color.FromArgb(40, 40, 40))
        G.DrawRectangle(New Pen(Color.FromArgb(24, 24, 24)), New Rectangle(0, 0, Width - 1, Height - 1))
        G.DrawRectangle(New Pen(Color.FromArgb(48, 48, 48)), New Rectangle(1, 1, Width - 3, Height - 3))
        G.FillRectangle(New SolidBrush(Color.FromArgb(35, 35, 35)), New Rectangle(0, 0, 1, 1))
        G.FillRectangle(New SolidBrush(Color.FromArgb(35, 35, 35)), New Rectangle(0, Height - 1, 1, 1))
        G.FillRectangle(New SolidBrush(Color.FromArgb(35, 35, 35)), New Rectangle(Width - 1, 0, 1, 1))
        G.FillRectangle(New SolidBrush(Color.FromArgb(35, 35, 35)), New Rectangle(Width - 1, Height - 1, 1, 1))
    End Sub
End Class

Let me know what other controls or features you would like to be added to this theme. Remember, make any criticism constructive & don't flame. I've taken time out of my life to release this theme for free, so don't flame.


I hope you enjoy the theme!
I love this theme already ha ha I would like to use it the only problem is I am having issues with themes either having errors or not showing up in my Toolbox when I try to "install" them in, I am using Visual Studio Community 2015 so should I downgrade? If so could I get a link to 2010-2012 it would help a ton.
Quote Originally Posted by ImHayes View Post
I love this theme already ha ha I would like to use it the only problem is I am having issues with themes either having errors or not showing up in my Toolbox when I try to "install" them in, I am using Visual Studio Community 2015 so should I downgrade? If so could I get a link to 2010-2012 it would help a ton.
They don't show up even after rebuilding the project?
Quote Originally Posted by Mayion View Post


They don't show up even after rebuilding the project?

I just came back on to update my post, I got it working with a 2010 version of Visual Studios so Visual Studios 2015 Community didn't support it or it has a different method of installation.
Dude you've got to be kidding me? This is also not yours unless your the guy from the other "hacking" forum.
@cgallagher21: he has already put the credits in the code.
Code:
''' Created by Earn
''' From *********s.net
Or maybe, he forgot to remove them when he copied 'n pasted the code?
Quote Originally Posted by maestro1994 View Post
@cgallagher21: he has already put the credits in the code.
Code:
''' Created by Earn
''' From *********s.net
Or maybe, he forgot to remove them when he copied 'n pasted the code?
I see that, but the thread is worded to where people who don't know think he made it. "This theme isn't like other themes. I have made it so that the close"
Quote Originally Posted by cgallagher21 View Post


I see that, but the thread is worded to where people who don't know think he made it. "This theme isn't like other themes. I have made it so that the close"
What I mean is that he fucked himself aahha
Posting someone else's code once again.
Shitpost.
Posts 1–9 of 9 · Page 1 of 1

Post a Reply

Similar Threads

Tags for this Thread

None

Need help?