Custom form theme (VB)

Heres your chance to share your own tutorials with the community. Just post them on here. If your lucky they may even be posted on the main site.
14 posts Page 1 of 2
Contributors
User avatar
dj1437
VIP - Donator
VIP - Donator
Posts: 504
Joined: Tue Dec 21, 2010 2:02 am

Custom form theme (VB)
dj1437
Make a new file then create a class, delete all of the code, type the following code:
Code: Select all
Imports System.Drawing.Drawing2D



Class FutureTheme
    Inherits Control

    Protected Overrides Sub OnHandleCreated(ByVal e As EventArgs)
        Dock = DockStyle.Fill
        If TypeOf Parent Is Form Then
            With DirectCast(Parent, Form)
                .FormBorderStyle = 0
                .BackColor = C1
                .ForeColor = Color.FromArgb(12, 12, 12)
            End With
        End If
        MyBase.OnHandleCreated(e)
    End Sub
    Protected Overrides Sub OnMouseDown(ByVal e As System.Windows.Forms.MouseEventArgs)
        If New Rectangle(Parent.Location.X, Parent.Location.Y, Width, 22).IntersectsWith(New Rectangle(MousePosition.X, MousePosition.Y, 1, 1)) Then
            Capture = False
            Dim M As Message = Message.Create(Parent.Handle, 161, New IntPtr(2), IntPtr.Zero)
            DefWndProc(M)
        End If
        MyBase.OnMouseDown(e)
    End Sub

    Dim G As Graphics, B As Bitmap, R1, R2 As Rectangle
    Dim C1, C2, C3 As Color, P1, P2, P3 As Pen, B1 As SolidBrush, B2, B3 As LinearGradientBrush

    Sub New()

        SetStyle(ControlStyles.AllPaintingInWmPaint Or ControlStyles.UserPaint, True)
        C1 = Color.FromArgb(34, 34, 34) 'Background
        C2 = Color.FromArgb(49, 49, 49) 'Highlight
        C3 = Color.FromArgb(22, 22, 22) 'Shadow
        P1 = New Pen(Color.Black) 'Border
        P2 = New Pen(C1)
        P3 = New Pen(C2)
        B1 = New SolidBrush(C2)
        Font = New Font("Verdana", 7.0F, FontStyle.Bold)

    End Sub

    Protected Overrides Sub OnSizeChanged(ByVal e As EventArgs)
        If Height > 0 Then
            R1 = New Rectangle(0, 2, Width, 18)
            R2 = New Rectangle(0, 21, Width, 10)
            B2 = New LinearGradientBrush(R1, C1, C3, 90.0F)
            B3 = New LinearGradientBrush(R2, Color.FromArgb(70, 0, 0, 0), Color.Transparent, 90.0F)
            Invalidate()
        End If
        MyBase.OnSizeChanged(e)
    End Sub

    Protected Overrides Sub OnPaintBackground(ByVal pevent As PaintEventArgs)
    End Sub

    Protected Overrides Sub OnPaint(ByVal e As PaintEventArgs)
        B = New Bitmap(Width, Height)
        G = Graphics.FromImage(B)

        G.Clear(C1)

        For I As Integer = 0 To Width + 17 Step 4
            G.DrawLine(P1, I, 21, I - 17, 37)
            G.DrawLine(P1, I - 1, 21, I - 16, 37)
        Next
        G.FillRectangle(B3, R2)

        G.FillRectangle(B2, R1)
        G.DrawString(Text, Font, B1, 5, 5)

        G.DrawRectangle(P2, 1, 1, Width - 3, 19)
        G.DrawRectangle(P3, 1, 39, Width - 3, Height - 41)

        G.DrawRectangle(P1, 0, 0, Width - 1, Height - 1)
        G.DrawLine(P1, 0, 21, Width, 21)
        G.DrawLine(P1, 0, 38, Width, 38)

        e.Graphics.DrawImage(B, 0, 0)
        G.Dispose()
        B.Dispose()
    End Sub

End Class
Class FutureButton
    Inherits Control

    Dim B As Bitmap, G As Graphics, R1 As Rectangle
    Dim C1, C2, C3, C4 As Color, P1, P2, P3, P4 As Pen, B1, B2, B5 As Brush, B3, B4 As LinearGradientBrush

    Sub New()
        SetStyle(ControlStyles.AllPaintingInWmPaint Or ControlStyles.UserPaint, True)

        C1 = Color.FromArgb(34, 34, 34) 'Background
        C2 = Color.FromArgb(49, 49, 49) 'Highlight
        C3 = Color.FromArgb(39, 39, 39) 'Lesser Highlight
        C4 = Color.FromArgb(60, Color.Black)
        P1 = New Pen(Color.FromArgb(22, 22, 22)) 'Shadow
        P2 = New Pen(Color.FromArgb(20, Color.White))
        P3 = New Pen(Color.FromArgb(10, Color.White))
        P4 = New Pen(Color.FromArgb(30, Color.Black))
        B1 = New SolidBrush(C1)
        B2 = New SolidBrush(C3)
        B5 = New SolidBrush(Color.FromArgb(12, 12, 12)) 'Text Color
        Font = New Font("Verdana", 8.0F)
    End Sub

    Private State As Integer
    Protected Overrides Sub OnMouseLeave(ByVal e As EventArgs)
        State = 0
        Invalidate()
    End Sub
    Protected Overrides Sub OnMouseUp(ByVal e As MouseEventArgs)
        State = 1
        Invalidate()
    End Sub
    Protected Overrides Sub OnMouseEnter(ByVal e As EventArgs)
        State = 1
        Invalidate()
    End Sub
    Protected Overrides Sub OnMouseDown(ByVal e As MouseEventArgs)
        State = 2
        Invalidate()
    End Sub

    Protected Overrides Sub OnResize(ByVal e As EventArgs)
        R1 = New Rectangle(2, 2, Width - 4, 4)
        B3 = New LinearGradientBrush(ClientRectangle, C3, C2, 90.0F)
        B4 = New LinearGradientBrush(R1, C4, Color.Transparent, 90.0F)
        Invalidate()
    End Sub

    Protected Overrides Sub OnPaint(ByVal e As PaintEventArgs)
        B = New Bitmap(Width, Height)
        G = Graphics.FromImage(B)

        G.FillRectangle(B3, ClientRectangle)

        Select Case State
            Case 0 'Up
                G.FillRectangle(B1, 1, 1, Width - 2, Height - 2)
                G.DrawLine(P2, 2, 2, Width - 3, 2)
                G.DrawLine(P3, 2, Height - 3, Width - 3, Height - 3)
            Case 1 'Over
                G.FillRectangle(B2, 1, 1, Width - 2, Height - 2)
                G.DrawLine(P2, 2, 2, Width - 3, 2)
                G.DrawLine(P3, 2, Height - 3, Width - 3, Height - 3)
            Case 2 'Down
                G.FillRectangle(B2, 1, 1, Width - 2, Height - 2)
                G.FillRectangle(B4, R1)
                G.DrawLine(P4, 2, 2, 2, Height - 3)
        End Select

        Dim S As SizeF = G.MeasureString(Text, Font)
        G.DrawString(Text, Font, B5, Convert.ToInt32(Width / 2 - S.Width / 2), Convert.ToInt32(Height / 2 - S.Height / 2))

        G.DrawRectangle(P1, 1, 1, Width - 3, Height - 3)

        e.Graphics.DrawImage(B, 0, 0)
        G.Dispose()
        B.Dispose()
    End Sub

    Protected Overrides Sub OnPaintBackground(ByVal e As PaintEventArgs)
    End Sub

End Class
Class FutureProgressBar
    Inherits Control

#Region " Properties "
    Private _Maximum As Double = 100
    Public Property Maximum() As Double
        Get
            Return _Maximum
        End Get
        Set(ByVal v As Double)
            _Maximum = v
            Progress = _Current / v * 100
            Invalidate()
        End Set
    End Property
    Private _Current As Double
    Public Property Current() As Double
        Get
            Return _Current
        End Get
        Set(ByVal v As Double)
            _Current = v
            Progress = v / _Maximum * 100
            Invalidate()
        End Set
    End Property
    Private _Progress As Integer
    Public Property Progress() As Double
        Get
            Return _Progress
        End Get
        Set(ByVal v As Double)
            If v < 0 Then v = 0 Else If v > 100 Then v = 100
            _Progress = Convert.ToInt32(v)
            _Current = v * 0.01 * _Maximum
            If Width > 0 Then UpdateProgress()
            Invalidate()
        End Set
    End Property

    Dim C2 As Color = Color.FromArgb(6, 96, 149) 'Dark Color
    Public Property Color1() As Color
        Get
            Return C2
        End Get
        Set(ByVal v As Color)
            C2 = v
            UpdateColors()
            Invalidate()
        End Set
    End Property
    Dim C3 As Color = Color.FromArgb(70, 167, 220) 'Light color
    Public Property Color2() As Color
        Get
            Return C3
        End Get
        Set(ByVal v As Color)
            C3 = v
            UpdateColors()
            Invalidate()
        End Set
    End Property

#End Region

    Protected Overrides Sub OnPaintBackground(ByVal pevent As PaintEventArgs)
    End Sub

    Dim G As Graphics, B As Bitmap, R1, R2 As Rectangle, X As ColorBlend
    Dim C1 As Color, P1, P2, P3 As Pen, B1, B2 As LinearGradientBrush, B3 As SolidBrush
    Sub New()

        C1 = Color.FromArgb(22, 22, 22) 'Background
        P1 = New Pen(Color.FromArgb(70, Color.White), 2)
        P2 = New Pen(C2)
        P3 = New Pen(Color.FromArgb(49, 49, 49)) 'Highlight
        B3 = New SolidBrush(Color.FromArgb(100, Color.White))
        X = New ColorBlend(4)
        X.Colors = New Color() {C2, C3, C3, C2}
        X.Positions = New Single() {0.0F, 0.1F, 0.9F, 1.0F}
        R2 = New Rectangle(2, 2, 2, 2)
        B2 = New LinearGradientBrush(R2, Nothing, Nothing, 180.0F)
        B2.InterpolationColors = X

    End Sub

    Sub UpdateColors()
        P2.Color = C2
        X.Colors = New Color() {C2, C3, C3, C2}
        B2.InterpolationColors = X
    End Sub

    Protected Overrides Sub OnSizeChanged(ByVal e As System.EventArgs)
        R1 = New Rectangle(0, 1, Width, 4)
        B1 = New LinearGradientBrush(R1, Color.FromArgb(60, Color.Black), Color.Transparent, 90.0F)
        UpdateProgress()
        Invalidate()
        MyBase.OnSizeChanged(e)
    End Sub

    Sub UpdateProgress()
        If _Progress = 0 Then Return
        R2 = New Rectangle(2, 2, Convert.ToInt32((Width - 4) * (_Progress * 0.01)), Height - 4)
        B2 = New LinearGradientBrush(R2, Nothing, Nothing, 180.0F)
        B2.InterpolationColors = X
    End Sub

    Protected Overrides Sub OnPaint(ByVal e As PaintEventArgs)
        B = New Bitmap(Width, Height)
        G = Graphics.FromImage(B)

        G.Clear(C1)

        G.FillRectangle(B1, R1)

        If _Progress > 0 Then
            G.FillRectangle(B2, R2)

            G.FillRectangle(B3, 2, 3, R2.Width, 4)
            G.DrawRectangle(P1, 4, 4, R2.Width - 4, Height - 8)

            G.DrawRectangle(P2, 2, 2, R2.Width - 1, Height - 5)
        End If

        G.DrawRectangle(P3, 0, 0, Width - 1, Height - 1)

        e.Graphics.DrawImage(B, 0, 0)
        G.Dispose()
        B.Dispose()
    End Sub

End Class
Class FutureSeperator
    Inherits Control

    Private _Orientation As Orientation
    Public Property Orientation() As Orientation
        Get
            Return _Orientation
        End Get
        Set(ByVal v As Orientation)
            _Orientation = v
            UpdateOffset()
            Invalidate()
        End Set
    End Property

    Dim G As Graphics, B As Bitmap, I As Integer
    Dim C1 As Color, P1, P2 As Pen
    Sub New()
        SetStyle(ControlStyles.AllPaintingInWmPaint Or ControlStyles.UserPaint, True)
        C1 = Color.FromArgb(34, 34, 34) 'Background
        P1 = New Pen(Color.FromArgb(22, 22, 22)) 'Shadow
        P2 = New Pen(Color.FromArgb(49, 49, 49)) 'Highlight
    End Sub

    Protected Overrides Sub OnSizeChanged(ByVal e As EventArgs)
        UpdateOffset()
        MyBase.OnSizeChanged(e)
    End Sub

    Sub UpdateOffset()
        I = Convert.ToInt32(If(_Orientation = 0, Height / 2 - 1, Width / 2 - 1))
    End Sub

    Protected Overrides Sub OnPaint(ByVal e As PaintEventArgs)
        B = New Bitmap(Width, Height)
        G = Graphics.FromImage(B)

        G.Clear(C1)

        If _Orientation = 0 Then
            G.DrawLine(P1, 0, I, Width, I)
            G.DrawLine(P2, 0, I + 1, Width, I + 1)
        Else
            G.DrawLine(P2, I, 0, I, Height)
            G.DrawLine(P1, I + 1, 0, I + 1, Height)
        End If

        e.Graphics.DrawImage(B, 0, 0)
        G.Dispose()
        B.Dispose()
    End Sub

    Protected Overrides Sub OnPaintBackground(ByVal pevent As PaintEventArgs)
    End Sub

End Class


Debug, Stop, then look at your toolbox. Its a black form theme and a few other things
This is a signature.
User avatar
MrAksel
C# Coder
C# Coder
Posts: 1758
Joined: Fri Mar 26, 2010 12:27 pm

Re: Custom form theme (VB)
MrAksel
This was extremely cool things! Thanks for posting! This is the best theme I have seen, nice work!
LMAOSHMSFOAIDMT
Laughing my a** of so hard my sombrero fell off and I dropped my taco lmao;


Over 30 projects with source code!
Please give reputation to helpful members!

Image
Image
User avatar
dj1437
VIP - Donator
VIP - Donator
Posts: 504
Joined: Tue Dec 21, 2010 2:02 am

Re: Custom form theme (VB)
dj1437
MrAksel wrote:
This was extremely cool things! Thanks for posting! This is the best theme I have seen, nice work!
your welcome, i found this broken code for a green theme, i messed around with it and it came out like this and it was black
This is a signature.
User avatar
Bogoh67
VIP - Site Partner
VIP - Site Partner
Posts: 656
Joined: Sun Apr 18, 2010 8:20 pm

Re: Custom form theme (VB)
Bogoh67
are you sure you made this i have seen this before somewhere ill will check just to make sure but anyways i like it and yeah it could have a little more bright colors , not bright like the theme i made it was too bright. good luck
User avatar
Cheatmasterbw
Coding God
Coding God
Posts: 1506
Joined: Fri Jan 01, 2010 2:30 pm

Re: Custom form theme (VB)
Cheatmasterbw
Could you post a screenshot??
http://www.megaapps.tk/
User avatar
dj1437
VIP - Donator
VIP - Donator
Posts: 504
Joined: Tue Dec 21, 2010 2:02 am

Re: Custom form theme (VB)
dj1437
Bogoh67 wrote:
are you sure you made this i have seen this before somewhere ill will check just to make sure but anyways i like it and yeah it could have a little more bright colors , not bright like the theme i made it was too bright. good luck

i did get help from some guy on youtube, i dont remember him. 100% made by me and him.
This is a signature.
User avatar
dj1437
VIP - Donator
VIP - Donator
Posts: 504
Joined: Tue Dec 21, 2010 2:02 am

Re: Custom form theme (VB)
dj1437
Cheatmasterbw wrote:
Could you post a screenshot??
here it is
Image
This is a signature.
User avatar
dj1437
VIP - Donator
VIP - Donator
Posts: 504
Joined: Tue Dec 21, 2010 2:02 am

Re: Custom form theme (VB)
dj1437
Bogoh67 wrote:
are you sure you made this i have seen this before somewhere ill will check just to make sure but anyways i like it and yeah it could have a little more bright colors , not bright like the theme i made it was too bright. good luck

i based it of of NecroPhis's theme because it wouldent work for me... idk why...
This is a signature.
User avatar
ManMega2
New Member
New Member
Posts: 10
Joined: Sun Jan 02, 2011 2:47 am

Re: Custom form theme (VB)
ManMega2
Thank you for the great tutorial, i was looking for form themes everywhere!!!
User avatar
Bogoh67
VIP - Site Partner
VIP - Site Partner
Posts: 656
Joined: Sun Apr 18, 2010 8:20 pm

Re: Custom form theme (VB)
Bogoh67
dj1437 wrote:
Bogoh67 wrote:
are you sure you made this i have seen this before somewhere ill will check just to make sure but anyways i like it and yeah it could have a little more bright colors , not bright like the theme i made it was too bright. good luck

i based it of of NecroPhis's theme because it wouldent work for me... idk why...
hey i think you got the progressbar from me (viewtopic.php?f=38&t=2840&) , but thats what i made it for, for people to use in thier projects
14 posts Page 1 of 2
Return to “Tutorials”