How to Get FireFox Theme in VB.NET


Just add a New Class and Copy & Past all these codes in it

 ' Firefox Theme.  
 ' Made by AeroRev9.  
 ' 25/07/2015.  
 ' Updated : 29/07/2015 [2].  
 ' Credits : Mavaamarten, Xertz.  
 Imports System.ComponentModel  
 Imports System.Drawing.Drawing2D  
 Imports System.Drawing.Text  
 Module Theme  
   Public ReadOnly Property GlobalFont(B As FontStyle, S As Integer) As Font  
     Get  
       Return New Font("Segoe UI", S, B)  
     End Get  
   End Property  
   Public Function GetCheckMark() As String  
     Return "iVBORw0KGgoAAAANSUhEUgAAABMAAAAQCAYAAAD0xERiAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAEySURBVDhPY/hPRUBdw/79+/efVHz77bf/X37+wRAn2bDff/7+91l+83/YmtsYBpJs2ITjz/8rTbrwP2Dlrf9XXn5FkSPJsD13P/y3nHsVbNjyy28w5Ik27NWXX//TNt8DG1S19zFWNRiGvfzy8//ccy9RxEB4wvFnYIMMZl7+//brLwx5EEYx7MP33/9dF18Ha1py8RVcHBR7mlMvgsVXX8X0Hgwz/P379z8yLtz5AKxJdcpFcBj9+v3nf/CqW2Cx5E13UdSiYwzDvv36/d9/BUSzzvRL/0t2PQSzQd57+vEHilp0jGEYCJ9+8hnuGhiee+4Vhjp0jNUwEN566/1/m/mQZJC/48H/zz9+YVWHjHEaBsKgwAZ59eH771jl0TFew0D48osvWMWxYYKGEY///gcAqiuA6kEmfEMAAAAASUVORK5CYII="  
   End Function  
 End Module  
 Module Helpers  
   Public Enum MouseState As Byte  
     None = 0  
     Over = 1  
     Down = 2  
   End Enum  
   Public Function FullRectangle(S As Size, Subtract As Boolean) As Rectangle  
     If Subtract Then  
       Return New Rectangle(0, 0, S.Width - 1, S.Height - 1)  
     Else  
       Return New Rectangle(0, 0, S.Width, S.Height)  
     End If  
   End Function  
   Public Function GreyColor(G As UInteger) As Color  
     Return Color.FromArgb(G, G, G)  
   End Function  
   Public Sub CenterString(G As Graphics, T As String, F As Font, C As Color, R As Rectangle)  
     Dim TS As SizeF = G.MeasureString(T, F)  
     Using B As New SolidBrush(C)  
       G.DrawString(T, F, B, New Point(R.Width / 2 - (TS.Width / 2), R.Height / 2 - (TS.Height / 2)))  
     End Using  
   End Sub  
   Public Sub FillRoundRect(G As Graphics, R As Rectangle, Curve As Integer, C As Color)  
     Using B As New SolidBrush(C)  
       G.FillPie(B, R.X, R.Y, Curve, Curve, 180, 90)  
       G.FillPie(B, R.X + R.Width - Curve, R.Y, Curve, Curve, 270, 90)  
       G.FillPie(B, R.X, R.Y + R.Height - Curve, Curve, Curve, 90, 90)  
       G.FillPie(B, R.X + R.Width - Curve, R.Y + R.Height - Curve, Curve, Curve, 0, 90)  
       G.FillRectangle(B, CInt(R.X + Curve / 2), R.Y, R.Width - Curve, CInt(Curve / 2))  
       G.FillRectangle(B, R.X, CInt(R.Y + Curve / 2), R.Width, R.Height - Curve)  
       G.FillRectangle(B, CInt(R.X + Curve / 2), CInt(R.Y + R.Height - Curve / 2), R.Width - Curve, CInt(Curve / 2))  
     End Using  
   End Sub  
   Public Sub DrawRoundRect(G As Graphics, R As Rectangle, Curve As Integer, C As Color)  
     Using P As New Pen(C)  
       G.DrawArc(P, R.X, R.Y, Curve, Curve, 180, 90)  
       G.DrawLine(P, CInt(R.X + Curve / 2), R.Y, CInt(R.X + R.Width - Curve / 2), R.Y)  
       G.DrawArc(P, R.X + R.Width - Curve, R.Y, Curve, Curve, 270, 90)  
       G.DrawLine(P, R.X, CInt(R.Y + Curve / 2), R.X, CInt(R.Y + R.Height - Curve / 2))  
       G.DrawLine(P, CInt(R.X + R.Width), CInt(R.Y + Curve / 2), CInt(R.X + R.Width), CInt(R.Y + R.Height - Curve / 2))  
       G.DrawLine(P, CInt(R.X + Curve / 2), CInt(R.Y + R.Height), CInt(R.X + R.Width - Curve / 2), CInt(R.Y + R.Height))  
       G.DrawArc(P, R.X, R.Y + R.Height - Curve, Curve, Curve, 90, 90)  
       G.DrawArc(P, R.X + R.Width - Curve, R.Y + R.Height - Curve, Curve, Curve, 0, 90)  
     End Using  
   End Sub  
   Public Sub CenterStringTab(G As Graphics, text As String, font As Font, brush As Brush, rect As Rectangle, Optional shadow As Boolean = False, Optional yOffset As Integer = 0)  
     Dim textSize As SizeF = G.MeasureString(text, font)  
     Dim textX As Integer = rect.X + (rect.Width / 2) - (textSize.Width / 2)  
     Dim textY As Integer = rect.Y + (rect.Height / 2) - (textSize.Height / 2) + yOffset  
     If shadow Then G.DrawString(text, font, Brushes.Black, textX + 1, textY + 1)  
     G.DrawString(text, font, brush, textX, textY + 1)  
   End Sub  
 End Module  
 <DefaultEvent("CheckedChanged")>  
 Class FirefoxRadioButton  
   Inherits Control  
 #Region " Public "  
   Public Event CheckedChanged(sender As Object, e As EventArgs)  
 #End Region  
 #Region " Private "  
   Private State As MouseState  
   Private ETC As Color = Nothing  
   Private G As Graphics  
   Private _EnabledCalc As Boolean  
   Private _Checked As Boolean  
   Private _Bold As Boolean  
 #End Region  
 #Region " Properties "  
   Public Property Checked As Boolean  
     Get  
       Return _Checked  
     End Get  
     Set(value As Boolean)  
       _Checked = value  
       Invalidate()  
     End Set  
   End Property  
   Public Shadows Property Enabled As Boolean  
     Get  
       Return EnabledCalc  
     End Get  
     Set(value As Boolean)  
       _EnabledCalc = value  
       Invalidate()  
     End Set  
   End Property  
   <DisplayName("Enabled")>  
   Public Property EnabledCalc As Boolean  
     Get  
       Return _EnabledCalc  
     End Get  
     Set(value As Boolean)  
       Enabled = value  
       Invalidate()  
     End Set  
   End Property  
   Public Property Bold As Boolean  
     Get  
       Return _Bold  
     End Get  
     Set(value As Boolean)  
       _Bold = value  
       Invalidate()  
     End Set  
   End Property  
 #End Region  
 #Region " Control "  
   Sub New()  
     DoubleBuffered = True  
     ForeColor = Color.FromArgb(66, 78, 90)  
     Font = GlobalFont(FontStyle.Regular, 10)  
     Size = New Size(160, 27)  
     Enabled = True  
   End Sub  
   Protected Overrides Sub OnPaint(e As PaintEventArgs)  
     G = e.Graphics  
     G.SmoothingMode = SmoothingMode.HighQuality  
     G.TextRenderingHint = TextRenderingHint.ClearTypeGridFit  
     MyBase.OnPaint(e)  
     G.Clear(Parent.BackColor)  
     If Enabled Then  
       ETC = Color.FromArgb(66, 78, 90)  
       Select Case State  
         Case MouseState.Over, MouseState.Down  
           Using P As New Pen(Color.FromArgb(34, 146, 208))  
             G.DrawEllipse(P, New Rectangle(2, 2, 22, 22))  
           End Using  
         Case Else  
           Using P As New Pen(GreyColor(190))  
             G.DrawEllipse(P, New Rectangle(2, 2, 22, 22))  
           End Using  
       End Select  
       If Checked Then  
         Using B As New SolidBrush(Color.FromArgb(34, 146, 208))  
           G.FillEllipse(B, New Rectangle(7, 7, 12, 12))  
         End Using  
       End If  
     Else  
       ETC = GreyColor(170)  
       Using P As New Pen(GreyColor(210))  
         G.DrawEllipse(P, New Rectangle(2, 2, 22, 22))  
       End Using  
       If Checked Then  
         Using B As New SolidBrush(Color.FromArgb(34, 146, 208))  
           G.FillEllipse(B, New Rectangle(7, 7, 12, 12))  
         End Using  
       End If  
     End If  
     Using B As New SolidBrush(ETC)  
       If Bold Then  
         G.DrawString(Text, GlobalFont(FontStyle.Bold, 10), B, New Point(32, 4))  
       Else  
         G.DrawString(Text, GlobalFont(FontStyle.Regular, 10), B, New Point(32, 4))  
       End If  
     End Using  
   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)  
     If Enabled Then  
       If Not Checked Then  
         For Each C As Control In Parent.Controls  
           If TypeOf C Is FirefoxRadioButton Then  
             DirectCast(C, FirefoxRadioButton).Checked = False  
           End If  
         Next  
       End If  
       Checked = True  
       RaiseEvent CheckedChanged(Me, e)  
     End If  
     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 Class  
 <DefaultEvent("CheckedChanged")>  
 Class FirefoxCheckBox  
   Inherits Control  
 #Region " Public "  
   Public Event CheckedChanged(sender As Object, e As EventArgs)  
 #End Region  
 #Region " Private "  
   Private State As MouseState  
   Private ETC As Color = Nothing  
   Private G As Graphics  
   Private _EnabledCalc As Boolean  
   Private _Checked As Boolean  
   Private _Bold As Boolean  
 #End Region  
 #Region " Properties "  
   Public Property Checked As Boolean  
     Get  
       Return _Checked  
     End Get  
     Set(value As Boolean)  
       _Checked = value  
       Invalidate()  
     End Set  
   End Property  
   Public Shadows Property Enabled As Boolean  
     Get  
       Return EnabledCalc  
     End Get  
     Set(value As Boolean)  
       _EnabledCalc = value  
       Invalidate()  
     End Set  
   End Property  
   <DisplayName("Enabled")>  
   Public Property EnabledCalc As Boolean  
     Get  
       Return _EnabledCalc  
     End Get  
     Set(value As Boolean)  
       Enabled = value  
       Invalidate()  
     End Set  
   End Property  
   Public Property Bold As Boolean  
     Get  
       Return _Bold  
     End Get  
     Set(value As Boolean)  
       _Bold = value  
       Invalidate()  
     End Set  
   End Property  
 #End Region  
 #Region " Control "  
   Sub New()  
     DoubleBuffered = True  
     ForeColor = Color.FromArgb(66, 78, 90)  
     Font = GlobalFont(FontStyle.Regular, 10)  
     Size = New Size(160, 27)  
     Enabled = True  
   End Sub  
   Protected Overrides Sub OnPaint(e As PaintEventArgs)  
     G = e.Graphics  
     G.SmoothingMode = SmoothingMode.HighQuality  
     G.TextRenderingHint = TextRenderingHint.ClearTypeGridFit  
     MyBase.OnPaint(e)  
     G.Clear(Parent.BackColor)  
     If Enabled Then  
       ETC = Color.FromArgb(66, 78, 90)  
       Select Case State  
         Case MouseState.Over, MouseState.Down  
           DrawRoundRect(G, New Rectangle(3, 3, 20, 20), 3, Color.FromArgb(44, 156, 218))  
         Case Else  
           DrawRoundRect(G, New Rectangle(3, 3, 20, 20), 3, GreyColor(200))  
       End Select  
       If Checked Then  
         Using I As Image = Image.FromStream(New IO.MemoryStream(Convert.FromBase64String(GetCheckMark)))  
           G.DrawImage(I, New Point(4, 5))  
         End Using  
       End If  
     Else  
       ETC = GreyColor(170)  
       DrawRoundRect(G, New Rectangle(3, 3, 20, 20), 3, GreyColor(220))  
       If Checked Then  
         Using I As Image = Image.FromStream(New IO.MemoryStream(Convert.FromBase64String(GetCheckMark)))  
           G.DrawImage(I, New Point(4, 5))  
         End Using  
       End If  
     End If  
     Using B As New SolidBrush(ETC)  
       If Bold Then  
         G.DrawString(Text, GlobalFont(FontStyle.Bold, 10), B, New Point(32, 4))  
       Else  
         G.DrawString(Text, GlobalFont(FontStyle.Regular, 10), B, New Point(32, 4))  
       End If  
     End Using  
   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)  
     If Enabled Then  
       Checked = Not Checked  
       RaiseEvent CheckedChanged(Me, e)  
     End If  
     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 Class  
 Class FirefoxH1  
   Inherits Label  
 #Region " Private "  
   Private G As Graphics  
 #End Region  
 #Region " Control "  
   Sub New()  
     DoubleBuffered = True  
     AutoSize = False  
     Font = New Font("Segoe UI Semibold", 20)  
     ForeColor = Color.FromArgb(76, 88, 100)  
   End Sub  
   Protected Overrides Sub OnPaint(e As PaintEventArgs)  
     G = e.Graphics  
     G.SmoothingMode = SmoothingMode.HighQuality  
     G.TextRenderingHint = TextRenderingHint.ClearTypeGridFit  
     MyBase.OnPaint(e)  
     Using P As New Pen(GreyColor(200))  
       G.DrawLine(P, New Point(0, 50), New Point(Width, 50))  
     End Using  
   End Sub  
 #End Region  
 End Class  
 Class FirefoxH2  
   Inherits Label  
 #Region " Control "  
   Sub New()  
     Font = GlobalFont(FontStyle.Bold, 10)  
     ForeColor = Color.FromArgb(76, 88, 100)  
     BackColor = Color.White  
   End Sub  
 #End Region  
 End Class  
 Class FirefoxButton  
   Inherits Control  
 #Region " Private "  
   Private State As MouseState  
   Private ETC As Color = Nothing  
   Private G As Graphics  
   Private _EnabledCalc As Boolean  
 #End Region  
 #Region " Properties "  
   Public Shadows Property Enabled As Boolean  
     Get  
       Return EnabledCalc  
     End Get  
     Set(value As Boolean)  
       _EnabledCalc = value  
       Invalidate()  
     End Set  
   End Property  
   <DisplayName("Enabled")>  
   Public Property EnabledCalc As Boolean  
     Get  
       Return _EnabledCalc  
     End Get  
     Set(value As Boolean)  
       Enabled = value  
       Invalidate()  
     End Set  
   End Property  
 #End Region  
 #Region " Control "  
   Sub New()  
     DoubleBuffered = True  
     Enabled = True  
     ForeColor = Color.FromArgb(56, 68, 80)  
     Font = GlobalFont(FontStyle.Regular, 10)  
   End Sub  
   Protected Overrides Sub OnPaint(e As PaintEventArgs)  
     G = e.Graphics  
     G.SmoothingMode = SmoothingMode.HighQuality  
     G.TextRenderingHint = TextRenderingHint.ClearTypeGridFit  
     MyBase.OnPaint(e)  
     G.Clear(Parent.BackColor)  
     If Enabled Then  
       ETC = Color.FromArgb(56, 68, 80)  
       Select Case State  
         Case MouseState.None  
           Using B As New SolidBrush(GreyColor(245))  
             G.FillRectangle(B, New Rectangle(1, 1, Width - 2, Height - 2))  
           End Using  
           DrawRoundRect(G, FullRectangle(Size, True), 2, GreyColor(193))  
         Case MouseState.Over  
           Using B As New SolidBrush(GreyColor(232))  
             G.FillRectangle(B, New Rectangle(1, 1, Width - 2, Height - 2))  
           End Using  
           DrawRoundRect(G, FullRectangle(Size, True), 2, GreyColor(193))  
         Case Else  
           Using B As New SolidBrush(GreyColor(212))  
             G.FillRectangle(B, New Rectangle(1, 1, Width - 2, Height - 2))  
           End Using  
           DrawRoundRect(G, FullRectangle(Size, True), 2, GreyColor(193))  
       End Select  
     Else  
       ETC = GreyColor(170)  
       Using B As New SolidBrush(GreyColor(245))  
         G.FillRectangle(B, New Rectangle(1, 1, Width - 2, Height - 2))  
       End Using  
       DrawRoundRect(G, FullRectangle(Size, True), 2, GreyColor(223))  
     End If  
     CenterString(G, Text, GlobalFont(FontStyle.Regular, 10), ETC, FullRectangle(Size, False))  
   End Sub  
   Protected Overrides Sub OnMouseUp(e As MouseEventArgs)  
     MyBase.OnMouseUp(e)  
     State = MouseState.Over : Invalidate()  
   End Sub  
   Protected Overrides Sub OnMouseDown(e As MouseEventArgs)  
     MyBase.OnMouseUp(e)  
     State = MouseState.Down : 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.OnMouseEnter(e)  
     State = MouseState.None : Invalidate()  
   End Sub  
 #End Region  
 End Class  
 Class FirefoxRedirect  
   Inherits Control  
 #Region " Private "  
   Private State As MouseState  
   Private G As Graphics  
   Private FC As Color = Nothing  
   Private FF As Font = Nothing  
 #End Region  
 #Region " Control "  
   Sub New()  
     DoubleBuffered = True  
     Cursor = Cursors.Hand  
     BackColor = Color.White  
   End Sub  
   Protected Overrides Sub OnPaint(e As PaintEventArgs)  
     G = e.Graphics  
     G.SmoothingMode = SmoothingMode.HighQuality  
     G.TextRenderingHint = TextRenderingHint.ClearTypeGridFit  
     MyBase.OnPaint(e)  
     Select Case State  
       Case MouseState.Over  
         FC = Color.FromArgb(23, 140, 229)  
         FF = GlobalFont(FontStyle.Underline, 10)  
       Case MouseState.Down  
         FC = Color.FromArgb(255, 149, 0)  
         FF = GlobalFont(FontStyle.Regular, 10)  
       Case Else  
         FC = Color.FromArgb(0, 149, 221)  
         FF = GlobalFont(FontStyle.Regular, 10)  
     End Select  
     Using B As New SolidBrush(FC)  
       G.DrawString(Text, FF, B, New Point(0, 0))  
     End Using  
   End Sub  
   Protected Overrides Sub OnMouseUp(e As MouseEventArgs)  
     MyBase.OnMouseUp(e)  
     State = MouseState.Over : Invalidate()  
   End Sub  
   Protected Overrides Sub OnMouseDown(e As MouseEventArgs)  
     MyBase.OnMouseUp(e)  
     State = MouseState.Down : 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.OnMouseEnter(e)  
     State = MouseState.None : Invalidate()  
   End Sub  
 #End Region  
 End Class  
 Class FirefoxSubTabControl  
   Inherits TabControl  
 #Region " Private "  
   Private G As Graphics  
   Private TabRect As Rectangle  
 #End Region  
 #Region " Control "  
   Sub New()  
     DoubleBuffered = True  
     Alignment = TabAlignment.Top  
   End Sub  
   Protected Overrides Sub OnCreateControl()  
     MyBase.OnCreateControl()  
     SetStyle(ControlStyles.UserPaint, True)  
     ItemSize = New Size(100, 40)  
     SizeMode = TabSizeMode.Fixed  
   End Sub  
   Protected Overrides Sub OnControlAdded(e As ControlEventArgs)  
     MyBase.OnControlAdded(e)  
     Try  
       For i As Integer = 0 To TabPages.Count - 1  
         TabPages(i).BackColor = Color.White  
         TabPages(i).ForeColor = Color.FromArgb(66, 79, 90)  
         TabPages(i).Font = GlobalFont(FontStyle.Regular, 10)  
       Next  
     Catch  
     End Try  
   End Sub  
   Protected Overrides Sub OnPaint(e As PaintEventArgs)  
     G = e.Graphics  
     G.SmoothingMode = SmoothingMode.HighQuality  
     G.TextRenderingHint = TextRenderingHint.ClearTypeGridFit  
     MyBase.OnPaint(e)  
     G.Clear(Parent.BackColor)  
     For i As Integer = 0 To TabPages.Count - 1  
       TabRect = GetTabRect(i)  
       If GetTabRect(i).Contains(Me.PointToClient(Cursor.Position)) And Not SelectedIndex = i Then  
         Using B As New SolidBrush(GreyColor(240))  
           G.FillRectangle(B, New Rectangle(GetTabRect(i).Location.X - 2, GetTabRect(i).Location.Y - 2, GetTabRect(i).Width, GetTabRect(i).Height + 1))  
         End Using  
       ElseIf SelectedIndex = i Then  
         Using B As New SolidBrush(GreyColor(240))  
           G.FillRectangle(B, New Rectangle(GetTabRect(i).Location.X - 2, GetTabRect(i).Location.Y - 2, GetTabRect(i).Width, GetTabRect(i).Height + 1))  
         End Using  
         Using P As New Pen(Color.FromArgb(255, 149, 0), 4)  
           G.DrawLine(P, New Point(TabRect.X - 2, TabRect.Y + ItemSize.Height - 2), New Point(TabRect.X + TabRect.Width - 2, TabRect.Y + ItemSize.Height - 2))  
         End Using  
       ElseIf Not SelectedIndex = i Then  
         G.FillRectangle(Brushes.White, GetTabRect(i))  
       End If  
       Using B As New SolidBrush(Color.FromArgb(56, 69, 80))  
         CenterStringTab(G, TabPages(i).Text, GlobalFont(FontStyle.Regular, 10), B, GetTabRect(i))  
       End Using  
     Next  
     Using P As New Pen(GreyColor(200))  
       G.DrawLine(P, New Point(0, ItemSize.Height + 2), New Point(Width, ItemSize.Height + 2))  
     End Using  
   End Sub  
 #End Region  
 End Class  
 Class FirefoxMainTabControl  
   Inherits TabControl  
 #Region " Private "  
   Private G As Graphics  
   Private TabRect As Rectangle  
   Private FC As Color = Nothing  
 #End Region  
 #Region " Control "  
   Sub New()  
     DoubleBuffered = True  
     ItemSize = New Size(43, 152)  
     Alignment = TabAlignment.Left  
     SizeMode = TabSizeMode.Fixed  
   End Sub  
   Protected Overrides Sub OnCreateControl()  
     MyBase.OnCreateControl()  
     SetStyle(ControlStyles.UserPaint, True)  
   End Sub  
   Protected Overrides Sub OnControlAdded(e As ControlEventArgs)  
     MyBase.OnControlAdded(e)  
     Try  
       For i As Integer = 0 To TabPages.Count - 1  
         TabPages(i).BackColor = Color.White  
         TabPages(i).ForeColor = Color.FromArgb(66, 79, 90)  
         TabPages(i).Font = GlobalFont(FontStyle.Regular, 10)  
       Next  
     Catch  
     End Try  
   End Sub  
   Protected Overrides Sub OnPaint(e As PaintEventArgs)  
     G = e.Graphics  
     G.SmoothingMode = SmoothingMode.HighQuality  
     G.TextRenderingHint = TextRenderingHint.ClearTypeGridFit  
     MyBase.OnPaint(e)  
     G.Clear(Color.FromArgb(66, 79, 90))  
     For i As Integer = 0 To TabPages.Count - 1  
       TabRect = GetTabRect(i)  
       If SelectedIndex = i Then  
         Using B As New SolidBrush(Color.FromArgb(52, 63, 72))  
           G.FillRectangle(B, TabRect)  
         End Using  
         FC = GreyColor(245)  
         Using B As New SolidBrush(Color.FromArgb(255, 175, 54))  
           G.FillRectangle(B, New Rectangle(TabRect.Location.X - 3, TabRect.Location.Y + 1, 5, TabRect.Height - 2))  
         End Using  
       Else  
         FC = GreyColor(192)  
         Using B As New SolidBrush(Color.FromArgb(66, 79, 90))  
           G.FillRectangle(B, TabRect)  
         End Using  
       End If  
       Using B As New SolidBrush(FC)  
         G.DrawString(TabPages(i).Text, GlobalFont(FontStyle.Regular, 10), B, New Point(TabRect.X + 50, TabRect.Y + 12))  
       End Using  
       If Not IsNothing(ImageList) Then  
         If Not TabPages(i).ImageIndex < 0 Then  
           G.DrawImage(ImageList.Images(TabPages(i).ImageIndex), New Rectangle(TabRect.X + 19, TabRect.Y + ((TabRect.Height / 2) - 10), 18, 18))  
         End If  
       End If  
     Next  
   End Sub  
 #End Region  
 End Class  
 <DefaultEvent("TextChanged")>  
 Class FirefoxTextbox  
   Inherits Control  
 #Region " Private "  
   Private WithEvents TB As New TextBox  
   Private G As Graphics  
   Private State As MouseState  
   Private IsDown As Boolean  
   Private _EnabledCalc As Boolean  
   Private _allowpassword As Boolean = False  
   Private _maxChars As Integer = 32767  
   Private _textAlignment As HorizontalAlignment  
   Private _multiLine As Boolean = False  
   Private _readOnly As Boolean = False  
 #End Region  
 #Region " Properties "  
   Public Shadows Property Enabled As Boolean  
     Get  
       Return EnabledCalc  
     End Get  
     Set(value As Boolean)  
       TB.Enabled = value  
       _EnabledCalc = value  
       Invalidate()  
     End Set  
   End Property  
   <DisplayName("Enabled")>  
   Public Property EnabledCalc As Boolean  
     Get  
       Return _EnabledCalc  
     End Get  
     Set(value As Boolean)  
       Enabled = value  
       Invalidate()  
     End Set  
   End Property  
   Public Shadows Property UseSystemPasswordChar() As Boolean  
     Get  
       Return _allowpassword  
     End Get  
     Set(ByVal value As Boolean)  
       TB.UseSystemPasswordChar = UseSystemPasswordChar  
       _allowpassword = value  
       Invalidate()  
     End Set  
   End Property  
   Public Shadows Property MaxLength() As Integer  
     Get  
       Return _maxChars  
     End Get  
     Set(ByVal value As Integer)  
       _maxChars = value  
       TB.MaxLength = MaxLength  
       Invalidate()  
     End Set  
   End Property  
   Public Shadows Property TextAlign() As HorizontalAlignment  
     Get  
       Return _textAlignment  
     End Get  
     Set(ByVal value As HorizontalAlignment)  
       _textAlignment = value  
       Invalidate()  
     End Set  
   End Property  
   Public Shadows Property MultiLine() As Boolean  
     Get  
       Return _multiLine  
     End Get  
     Set(ByVal value As Boolean)  
       _multiLine = value  
       TB.Multiline = value  
       OnResize(EventArgs.Empty)  
       Invalidate()  
     End Set  
   End Property  
   Public Shadows 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  
 #End Region  
 #Region " Control "  
   Protected Overrides Sub OnTextChanged(ByVal e As EventArgs)  
     MyBase.OnTextChanged(e)  
     Invalidate()  
   End Sub  
   Protected Overrides Sub OnBackColorChanged(ByVal e As EventArgs)  
     MyBase.OnBackColorChanged(e)  
     Invalidate()  
   End Sub  
   Protected Overrides Sub OnForeColorChanged(ByVal e As EventArgs)  
     MyBase.OnForeColorChanged(e)  
     TB.ForeColor = ForeColor  
     Invalidate()  
   End Sub  
   Protected Overrides Sub OnFontChanged(ByVal e As EventArgs)  
     MyBase.OnFontChanged(e)  
     TB.Font = Font  
   End Sub  
   Protected Overrides Sub OnGotFocus(ByVal e As EventArgs)  
     MyBase.OnGotFocus(e)  
     TB.Focus()  
   End Sub  
   Private Sub TextChangeTb() Handles TB.TextChanged  
     Text = TB.Text  
   End Sub  
   Private Sub TextChng() Handles MyBase.TextChanged  
     TB.Text = Text  
   End Sub  
   Public Sub NewTextBox()  
     With TB  
       .Text = String.Empty  
       .BackColor = Color.White  
       .ForeColor = Color.FromArgb(66, 78, 90)  
       .TextAlign = HorizontalAlignment.Left  
       .BorderStyle = BorderStyle.None  
       .Location = New Point(3, 3)  
       .Font = GlobalFont(FontStyle.Regular, 10)  
       .Size = New Size(Width - 3, Height - 3)  
       .UseSystemPasswordChar = UseSystemPasswordChar  
     End With  
   End Sub  
   Sub New()  
     MyBase.New()  
     NewTextBox()  
     Controls.Add(TB)  
     SetStyle(ControlStyles.UserPaint Or ControlStyles.SupportsTransparentBackColor, True)  
     DoubleBuffered = True  
     TextAlign = HorizontalAlignment.Left  
     ForeColor = Color.FromArgb(66, 78, 90)  
     Font = GlobalFont(FontStyle.Regular, 10)  
     Size = New Size(130, 29)  
     Enabled = True  
   End Sub  
   Protected Overrides Sub OnPaint(ByVal e As PaintEventArgs)  
     G = e.Graphics  
     G.SmoothingMode = SmoothingMode.HighQuality  
     G.TextRenderingHint = TextRenderingHint.ClearTypeGridFit  
     MyBase.OnPaint(e)  
     G.Clear(Parent.BackColor)  
     If Enabled Then  
       TB.ForeColor = Color.FromArgb(66, 78, 90)  
       If State = MouseState.Down Then  
         DrawRoundRect(G, FullRectangle(Size, True), 3, Color.FromArgb(44, 156, 218))  
       Else  
         DrawRoundRect(G, FullRectangle(Size, True), 3, GreyColor(200))  
       End If  
     Else  
       TB.ForeColor = GreyColor(170)  
       DrawRoundRect(G, FullRectangle(Size, True), 3, GreyColor(230))  
     End If  
     TB.TextAlign = TextAlign  
     TB.UseSystemPasswordChar = UseSystemPasswordChar  
   End Sub  
   Protected Overrides Sub OnResize(e As EventArgs)  
     MyBase.OnResize(e)  
     If Not MultiLine Then  
       Dim tbheight As Integer = TB.Height  
       TB.Location = New Point(10, CType(((Height / 2) - (tbheight / 2) - 0), Integer))  
       TB.Size = New Size(Width - 20, tbheight)  
     Else  
       TB.Location = New Point(10, 10)  
       TB.Size = New Size(Width - 20, Height - 20)  
     End If  
   End Sub  
   Protected Overrides Sub OnEnter(e As EventArgs)  
     MyBase.OnEnter(e)  
     State = MouseState.Down : Invalidate()  
   End Sub  
   Protected Overrides Sub OnLeave(e As EventArgs)  
     MyBase.OnLeave(e)  
     State = MouseState.None : Invalidate()  
   End Sub  
 #End Region  
 End Class  
 Class FirefoxNumericUpDown  
   Inherits Control  
 #Region " Private "  
   Private G As Graphics  
   Private _Value As Integer  
   Private _Min As Integer  
   Private _Max As Integer  
   Private Loc As Point  
   Private Down As Boolean  
   Private _EnabledCalc As Boolean  
   Private ETC As Color = Nothing  
 #End Region  
 #Region " Properties "  
   Public Shadows Property Enabled As Boolean  
     Get  
       Return EnabledCalc  
     End Get  
     Set(value As Boolean)  
       _EnabledCalc = value  
       Invalidate()  
     End Set  
   End Property  
   <DisplayName("Enabled")>  
   Public Property EnabledCalc As Boolean  
     Get  
       Return _EnabledCalc  
     End Get  
     Set(value As Boolean)  
       Enabled = value  
       Invalidate()  
     End Set  
   End Property  
   Public Property Value As Integer  
     Get  
       Return _Value  
     End Get  
     Set(v As Integer)  
       If v <= _Max And v >= Minimum Then  
         _Value = v  
       End If  
       Invalidate()  
     End Set  
   End Property  
   Public Property Minimum As Integer  
     Get  
       Return _Min  
     End Get  
     Set(v As Integer)  
       If v < Maximum Then  
         _Min = v  
       End If  
       If Value < Minimum Then  
         Value = Minimum  
       End If  
       Invalidate()  
     End Set  
   End Property  
   Public Property Maximum As Integer  
     Get  
       Return _Max  
     End Get  
     Set(v As Integer)  
       If v > Minimum Then  
         _Max = v  
       End If  
       If Value > Maximum Then  
         Value = Maximum  
       End If  
       Invalidate()  
     End Set  
   End Property  
 #End Region  
 #Region " Control "  
   Sub New()  
     DoubleBuffered = True  
     Value = 0  
     Minimum = 0  
     Maximum = 100  
     Cursor = Cursors.IBeam  
     BackColor = Color.White  
     ForeColor = Color.FromArgb(66, 78, 90)  
     Font = GlobalFont(FontStyle.Regular, 10)  
     Enabled = True  
   End Sub  
   Protected Overrides Sub OnMouseMove(e As MouseEventArgs)  
     MyBase.OnMouseMove(e)  
     Loc.X = e.X  
     Loc.Y = e.Y  
     Invalidate()  
     If Loc.X < Width - 23 Then  
       Cursor = Cursors.IBeam  
     Else  
       Cursor = Cursors.Default  
     End If  
   End Sub  
   Protected Overrides Sub OnResize(ByVal e As EventArgs)  
     MyBase.OnResize(e)  
     Height = 30  
   End Sub  
   Protected Overrides Sub OnMouseDown(ByVal e As MouseEventArgs)  
     MyBase.OnMouseClick(e)  
     If Enabled Then  
       If Loc.X > Width - 21 AndAlso Loc.X < Width - 3 Then  
         If Loc.Y < 15 Then  
           If (Value + 1) <= Maximum Then  
             Value += 1  
           End If  
         Else  
           If (Value - 1) >= Minimum Then  
             Value -= 1  
           End If  
         End If  
       Else  
         Down = Not Down  
         Focus()  
       End If  
     End If  
     Invalidate()  
   End Sub  
   Protected Overrides Sub OnKeyPress(ByVal e As System.Windows.Forms.KeyPressEventArgs)  
     MyBase.OnKeyPress(e)  
     Try  
       If Down Then  
         Value = Value & e.KeyChar.ToString  
       End If  
       If Value > Maximum Then  
         Value = Maximum  
       End If  
     Catch  
     End Try  
   End Sub  
   Protected Overrides Sub OnKeyup(ByVal e As System.Windows.Forms.KeyEventArgs)  
     MyBase.OnKeyUp(e)  
     If e.KeyCode = Keys.Up Then  
       If (Value + 1) <= Maximum Then  
         Value += 1  
       End If  
       Invalidate()  
     ElseIf e.KeyCode = Keys.Down Then  
       If (Value - 1) >= Minimum Then  
         Value -= 1  
       End If  
     ElseIf e.KeyCode = Keys.Back Then  
       Dim BC As String = Value.ToString()  
       BC = BC.Remove(Convert.ToInt32(BC.Length - 1))  
       If (BC.Length = 0) Then  
         BC = "0"  
       End If  
       Value = Convert.ToInt32(BC)  
     End If  
     Invalidate()  
   End Sub  
   Protected Overrides Sub OnPaint(e As PaintEventArgs)  
     G = e.Graphics  
     G.SmoothingMode = SmoothingMode.HighQuality  
     G.TextRenderingHint = TextRenderingHint.ClearTypeGridFit  
     MyBase.OnPaint(e)  
     G.Clear(Parent.BackColor)  
     If Enabled Then  
       ETC = Color.FromArgb(66, 78, 90)  
       Using P As New Pen(GreyColor(190))  
         DrawRoundRect(G, FullRectangle(Size, True), 2, GreyColor(190))  
         G.DrawLine(P, New Point(Width - 24, 13.5F), New Point(Width - 5, 13.5F))  
       End Using  
       DrawRoundRect(G, New Rectangle(Width - 24, 4, 19, 21), 3, GreyColor(200))  
     Else  
       ETC = GreyColor(170)  
       Using P As New Pen(GreyColor(230))  
         DrawRoundRect(G, FullRectangle(Size, True), 2, GreyColor(190))  
         G.DrawLine(P, New Point(Width - 24, 13.5F), New Point(Width - 5, 13.5F))  
       End Using  
       DrawRoundRect(G, New Rectangle(Width - 24, 4, 19, 21), 3, GreyColor(220))  
     End If  
     Using B As New SolidBrush(ETC)  
       G.DrawString("t", New Font("Marlett", 8, FontStyle.Bold), B, New Point(Width - 22, 5))  
       G.DrawString("u", New Font("Marlett", 8, FontStyle.Bold), B, New Point(Width - 22, 13))  
       CenterString(G, Value, New Font("Segoe UI", 10), ETC, New Rectangle(Width / 2 - 10, 0, Width - 5, Height))  
     End Using  
   End Sub  
 #End Region  
 End Class  

Now just go click Build > Build Solution that's it, then you can find a set a of FireFix components in your ToolBox like this :


All the credits to : AeroRev9

How to Make a WIFI Hotspot Creator in VB.NET



You'll find many programs on the internet that can turn your Computer/Laptop Internet into a WIFI Hotspot but this ain't no any advanced like this. This is a very simple program to make a WIFI Hotspot using the Netsh command line scripting utility that comes with Windows.

Let's get into it...

Tools Required
  • 2 Textboxes
  • 2 Labels
  • 1 Checkbox
  • 2 Buttons
Change TEXT in the added Tools like given below
  • Label 1 - Hotspot Name:
  • Label 2 - Password: (8 Characters minimum)
  • CheckBox1 - Show Password
  • Button1 - Start
  • Button2 - Stop
Make sure your FORM looks like this :



Double click your Form to get into Form_Load Event and add this code to disable the Button2 (Stop)
 Button2.Enabled = False
Add this code for FormClosed Event to stop the Hotspot automatically when you close the program
Process.Start("CMD", "/C netsh wlan stop hostednetwork")
  Now go to Button1_Click and add these :

   Try  
       If TextBox1.Text = "" Then  
         MsgBox("Hotspot Name can't be empty", MsgBoxStyle.Critical)  
       End If  
       If TextBox2.TextLength < 8 Then  
         MsgBox("Password should be 8+ characters", MsgBoxStyle.Critical)  
         If TextBox2.Text = "" Then  
           MsgBox("Password can't be empty", MsgBoxStyle.Critical)  
         End If  
       Else  
         Dim process As New Process()  
         process.StartInfo.Verb = "runas"  
         process.StartInfo.UseShellExecute = True  
         process.Start("cmd", String.Format("/c {0} & {1} & {2}", "netsh wlan set hostednetwork mode=allow ssid=" & TextBox1.Text & " key=" & TextBox2.Text, "netsh wlan start hostednetwork", "pause"))  
         MsgBox("Hotspot started successfully", MsgBoxStyle.Information)  
         Button1.Enabled = False  
         Button2.Enabled = True  
       End If  
     Catch ex As Exception  
       MsgBox("Failed to establish a hotspot" & ex.Message, MsgBoxStyle.Information)  
     End Try  

Add this to Button2_Click :

   Button2.Enabled = False  
     Process.Start("CMD", "/C netsh wlan stop hostednetwork")  
     Button1.Enabled = True  
     MsgBox("Hotspot stopped successfully", MsgBoxStyle.Information)  

Finally just go add this piece of code to CheckBox1_Checked :

     If CheckBox1.CheckState = CheckState.Checked Then  
       TextBox2.UseSystemPasswordChar = False  
     End If  
     If CheckBox1.CheckState = CheckState.Unchecked Then  
       TextBox2.UseSystemPasswordChar = True  
     End If  

That's it! let's Run the program, Just set a Hotspot Name and a Password then click on Start


Now check your Phone or any other devices for WIFI connections, this is a screenshot from my Phone :


Hope it works fine with y'all...

How to Fix High CPU Usage / Memory Usage / Disk Usage (Service Host: Local Service) in Windows 10, 8.1, 8, 7


Before you try this method please try the above mentioned methods :

  • sfc /scannow
  • Dism /Online /Cleanup-Image /RestoreHealth
  • Disable service "SuperFetch"
If you have tried all of them and still didn't get the issue fixed out then this is for you.

  1. Identify if you are running the inbox AHCI driver (StorAHCI.sys):

    1. Open up your Computer Management by Win + R then put in devmgmt.msc and hit enter
    2. Under IDE ATA/ATAPI Controllers right-click on the AHCI controller node and select Properties. This node is usually called “Standard SATA AHCI Controller.”
    3. Navigate to the driver tab and click Driver Details.
    4. If you see “StorAHCI.sys” in the list, you are running the inbox driver.

    StorAHCI.sys
  2. Disable MSI for the controller in the registry:
    1. In the same properties window opened in step 1.2, navigate to the Details tab and select Device instance path from the Property drop-down menu. Note this path. 

    Device instance path

    1. Open the registry editor by typing regedit in the previously opened command prompt.
    2. Navigate to: HKEY_LOCAL_MACHINE\System\CurrentControlSet\Enum\PCI\ <AHCI Controller>\Device Parameters\Interrupt Management\MessageSignaledInterruptProperties, where <AHCI Controller> refers to the device instance path you noted in step 2.1. 
    3. Change the value of the MSISupported key from “1” to “0”.
    1. If you don’t know which controller your boot device is attached to, repeat steps 2.1 through 2.4 for all AHCI controllers found under 1.2.

    MSISupported Regedit
  3. Reboot the machine.
It fixed the problem in my case see :


Hope this helps.

Credits to : Microsoft Support

How to Uninstall Annoying Windows 10 Photos App


One of the most annoying thing I noticed with Windows 10 is this... if you want to permanently uninstall this program just follow these steps.

Open Windows PowerShell

You can find Windows PowerShell in All Apps > Windows PowerShell > Windows PowerShell or just search for PowerShell in your Start Menu and make sure you run Windows PowerShell as Administrator.

Run the Command

Copy & Paste (You can Paste by Right Clicking inside the PowerShell)  this command into PowerShell  : Get-AppxPackage *photo* | Remove-AppxPackage and then just hit Enter, that's it! Game Over!


16 Super Simple Social Media Hacks to Master Content Marketing

Every business is operated by the lead generation. This lead is primarily gained from digital marketing. As social media evolved into the primary digital marketing platforms of the present day, the need for the online marketers with expert distinct strategies has increased to foresee effective business results.

Content marketing is the high-end grade in social media marketing and plays a prominent role in online promotions with about 28 % of an organization’s marketing budget being spent on it. This shows how important content marketing strategy plays a role in enterprise publicity. 

The powerful content marketing made it easier to execute strategies and convert leads into happy customers.


While many content marketers are already aware of the basic skills of content marketing, there are certain simple hacks to double the results and generate an effective number of leads. If you want to be successful in your content marketing efforts, then try these following simple hacks:

     ⦁    Audience research
Marketing begins with research on the type of audience the business is targeted. Many of the successful content marketers take this phase very seriously. They start with a light research on the basic customer persona and make a note on everything about their demographics.

Most importantly, they arrive at an assumption to get closer to the truth about the audience.

     ⦁    Relevant current content

If blog posts are too generalized, lest people show interest. It is necessary to keep content fresh and always include topics related to the latest industry trends and global events.

Posts related to people’s interest has the higher chance of getting hits and shares.

     ⦁    Attracting Environment

While a writer comes across a new eye-catchy idea or object, that’s the moment he uses his full potential to generate, repeat, and connect with customers to attract attention, loyalty, and trust.
Successful writers create this environment through attractive storytelling, in a most primitive and powerful form.

     ⦁    Content is the king
Don’t hasten when composing a blog post. Firstly, you must make sure that the content is relevant, engaging, interesting, and unique.

If you are successful in the efforts of sharing valuable content across the social media, it itself can get you through the desired results than paid promotions.

     ⦁    Deep content
The important hack also one of the simplest is writing a deeper content. For SEO branding, content should be of the long form. Great content engages both customers and search engines. Longer and deeper content provides more value to the audience and is completely adored by Google.

The length of the content plays a major role in attracting viewers. An average length of interesting articles is estimated to be over 2,400 words.

However, this doesn't mean creation of a redundant copy of articles. Each word must ensure a value to fulfill visitors’ intention.

     ⦁    Draw the reader

Focus on the title and first few lines. The first 10 words must be catchy and informative. These words drive attention when filled with quirky verbs, interesting examples, and uncanny twists. All these things make sure the audience don’t get run over!

Once you grab the readers’ attention, it is time to engage them with simple, interesting stories. If it is achieved, you are sure to build momentum on social media.

     ⦁    Usage of specific details

In stimulating audience visually, authentic stories hold a value. Each sentence plays a role. When the content carries an implicit story structure, the readers experience it through their own memories.
The more specific the text, the more powerful the story will resonate with the audience.

     ⦁    Instilling Tweetable quotes
An easy way to grow following and lead generation is by adding tweetable quotes within the body of an article.


This simple hack requires just an easy downloadable WordPress plugin or any relevant service or application. This process results in a massive growth of leads through social media.

     ⦁    Image optimization
Putting relevant images in the posts brings an attractive appeal to the written text. It transforms the outlook of the blog completely.

Simply putting images won’t work. The images must attract viewers when shared with other major sites.

Adding the name of your site within the image adds a great value for your business. Many applications and tools are available to insert text within the images.

Images incorporating texts also work great on certain social platforms like Pinterest. This image naming convention makes a stamp of your brand in a reader’s mind.

     ⦁     Share-worthy content
If you are the one who runs a social media page for building the business network, then it is an ideal option to share your valuable content that attracts users.

This way your posts are fed in the news feed and are more likely be read and shared.



So, you must go with the flow to enjoy more hits among your followers.

     ⦁     Include share buttons to all posts
Once you have articulated a killer looking content, it’s time to share this content.

Easy Social Share Button
To make the sharing process seamless, include share buttons at the end of every post. This will simplify the process of sharing and radically generate social hype. Social media sharing buttons  make sharing easier. This surely will make a big difference in long-run.


     ⦁     Analysis
Successful content marketers don’t base their success on subjective factors, rather they reckon on the numbers and analytics to see if their strategy is working or not. Instead of just sitting and believing that their readers are engaging themselves; they question them directly. They dig deep, analyze their assumption and validate their results, before making proper changes.

     ⦁     Networking

Rather than concentrating more on eventual pieces to get created and published, successful content marketers invest their part of a time in building a professional network.

Many possible approaches associate with professional content marketing. These include Learning from others, reaching out for guest blogging, widening the network of publishing medium and attaining insights on similar industries. All these make a decent impact on marketing.

     ⦁     Diversification

Successful content marketers don’t stick with a just single area of expertise, instead, they try to expand the types of content they produce, including images and videos (if any). They expand recruitment of guest bloggers from third-party authorities.

This process keep readers engaged, and keep a track of changing reader’s interest.

     ⦁     Experimentation
When content marketers recognize a certain pattern is working, they stick with it thoroughly.
However, along with maintaining ROI, successful content marketers, also experiment on a regular basis, throwing in new topics and content formats that they believe their audience would typically expect. Even though it is a bit risky, and doesn’t always bring fruitful results, yet it keeps you away from falling into a trench.

     ⦁     Long-term nature
Content marketing is known for its long-term nature. The content always has time to alter the existing, outdated points, add new information and audit own strategies to join the ranks of the ruling in class.
 
Conclusion…
To succeed in social media marketing, it is necessary to keep up a cliché-free zone. As the world spins faster, it is tougher to uphold customers’ attention. Wise content marketing draws more customers into your vision and sustains their bond with your products and services.

You are positioned well to acquire better results in terms of the number of leads, shares and closed business by executing these techniques.

Author Bio:

Sirisha Paladhi possesses love and passion towards writing, which brought her into this field. Presently, she is working as a Content Writer at Mindmajix. During her career, she has written many articles on technology innovations. In her pass time, she relishes in making handy-crafts.

LinkedIn URL: https://www.linkedin.com/in/paladhi-sirisha-74987881/

Top 7 Technology Tips for New Teachers


Now educational technology for teachers made a huge influence on the modern society, in particular on the young generations. Parents claim that their kids now are more likely to staring at the phone than studying, which is not valuable for their future. If you are a teacher, who faced up with educational process issue and doesn’t understand how to make your students learn your subject, here is 7 tips, which will help you to make your classes more enjoyable.

  1. Find out your students’ interests 
The old-fashioned way of teaching, which was built only on professional relations between student and a teacher is not effective anymore. These days, if you want to encourage a student to learn your subject, ask what he likes, find the connection between him and your methods. Ted talks will help you with it. It has plenty of educational programs for everyone, developed by quite successful and respectful people from all over the world. They have plenty of interesting and even instructional ideas. It may be considered as a pedagogical practice not only for teachers but also for students. 
  1. Unusual approach 
These days the biggest problem is the boredom of students. They are tired of making the same tasks, which are extremely annoying, though educational. Search for new ways of presenting and interpreting your material. Make it more interactive and allow your students to use their phones for training purposes. Test some educational apps and demonstrate them to the young audience so that they could study in their free time as well. Interest them in your subject through things they like, which are appeared to be any helpful resources on the Internet, like Ted talks or edubirdie canada (which was used in my previous investigations).  

  1. Competitive spirit 
Many teachers think that competitive spirit in class vanishes when kids are turning into teenagers. It is not true, though. Teenagers are always trying to prove themselves, and this factor in their behavior may become crucial in their studying. Class Dojo app will help you encourage students to learn your subject. This app is a perfect way in teaching new technology in the classroom. It can serve as a virtual class with a quite cool design, where you register your students and can give them points for their studying improvement or vise versa. It shows students the determined reason of good/bad mark and also provides them short feedback about studying process in general. What is more important, other students in the class may see it and make notes as well.

  1. Don’t distant yourself from students too much 
Children, especially teenagers, are curious to know everything that is going on around them.  If you are a young and inexperienced teacher, don't distant your students too much, but share information they want to know, be closer to their personal interests and everyday problems. However, you have already know the best method: get a Twitter account for instance or any other social network to build a connection. Therefore, it gives an additional benefit. You will be able to share stuff in your free time, follow some of your students and understand why they behave that way. This is a good strategy if you are working with problem-solving classes. 
  1. Improve yourself 
Being a teacher means studying for the rest of your life. Technologies change so quickly that you need to be aware of it every single minute. Luckily, there is no reason to visit seminars, which are taking too much time. Now, there are a lot of educational websites for teachers, and you can just Google any specific site and read useful articles or do some exercises to refresh your memory. The best one is learner.org, but you can find something else that fits you more. 
  1. Be organized 
Being always prepared and well-organized for the lessons is not that much easy as it may seem. Perhaps, it is the high time to give paper notebooks and take up online ones. There is an enormous amount of them, like Adittio and many others. Search for planners that was designed especially for teachers. They differ from the usual ones very much, because they have special tools. They will help you to carry less unnecessary things and be always equipped with the material for your classes. 
  1. Involve parents in their kids’ studying 
Many parents urge to know about their kids’ success, and that is normal practice. Instead of wasting your time on parents meeting, offer them to use a special app such as Seesaw for instance. It allows students to upload their work, on the other hand, the teacher can check it there, and the parent can see the final result. This app facilitates control for both: teacher and a parent, making everything as fair as possible. 

How to find the Best Laptop for Programming


Since you are reading this article, it is not hard to guess who you are and what you are looking for. You are a professional software engineer, maybe you are starting off with programming as a student or perhaps you are just a programming geek.
Since you are reading this article, it is not hard to guess who you are and what you are looking for. You are a professional software engineer, maybe you are starting off with programming as a student or perhaps you are just a programming geek.

You have come here looking for the best laptop for programming but you find yourself asking what is it that you are looking for?

Fortunately, we have some tips below that can help you find your perfect laptop.

Beginner / Student Programmer

We are aware that if you are a student you may be on a tight budget. You need to find a laptop that is fairly reasonably priced. We assume that if you are a beginner your projects will be simple, so all you need is a top performance/dollar value laptop and here is how to manage that:

  • 13.3” – 15.6” screen. It should preferably be FHD. We have excluded 17.3 inch because as a student, you will be moving about. 17.3 inch would be difficult to carry around.
  • Recommended a minimum of 8 GB of RAM, although even 4 GB should work just fine for small projects.
  • Find a laptop without dedicated graphics card (Integrated graphics card cost less and will do the work for you)
  • Intel i3 processor is perfect for beginners (you can go for i5, but mostly the may want to avoid it if you are very tight on budget). Do not settle for anything less than an Intel Core i3 like Intel Pentium or Intel Celeron.
  • Battery life 5+ hours is great. However, it is also possible to find 10+ hours.
Professional Programmer/Application Developer

If you are a professional programmer or an application developer, you need a laptop that is powerful, convenient and running smoothly. You don’t need overheating or any lag, you left those problems with your first laptop or desktop computer for beginners, now it is time for something better.

It all comes to what type of programming you are into, but generally we prefer the following specifications here:

  • Processor: As an expert you will have to compile applications or games that require a strong processor. Do not go lower than Intel Core i7 or AMD A10 processors.
  • Make sure that along with a Hard Disk you have an SSD (solid-state drive) disc as the primary drive (at least 256 GB SSD). It loads faster even the biggest projects, so you won’t be disappointed.
  • RAM memory (at least 8GB, but as we like to say “The more, the merrier”. 16 GB, 32 GB, it is totally up to you)
  • Battery life: 10-14 hours would be excellent (you would not want to leave your work undone if you are not able to charge your laptop right away). However, if you go for a workstation grade laptop, then do not get disappointed if it only has enough juice for 4 hours.
  • Comfortable keyboard because obviously you will be typing a lot.
  • The screen size is up to you here. You can get premium laptops like Ultrabooks that are 13.3 inch in screen size or workstation grade laptops that are 17.3” in screen size. 
For programmers that develop more graphically (like creating graphics in games using Unity as engine or 3D modeling), make sure that you have a graphics card that will provide you the best experience. Go for NVIDIA GeForce GTX 1060 minimum or AMD Radeon R9 series graphics card. 

For web programmers, or mobile app developers, you do not need to have a high-end programming laptop. You can go with 4 GB RAM, but since you might open many applications, consider buying an 8 GB memory. If you are not a beginner, then please consider investing in Intel Core i5 at least.


The Operating System Choice Matters

If you are just starting out, you need to first choose the operating system that you want to develop on. The choice depends a lot on how you foresee your future. Do you foresee yourself developing an app for iPhone? If that is the case that you will need to get an Apple Macbook.


There three main operating systems to choose from, namely Windows, Mac, and Linux. They all have pros and cons. There is also a fourth called Chrome OS that you find on budget-friendly Chromebook. Unlike the other three, Chrome OS is entirely cloud based so you don’t need a powerful hardware onboard.  


When searching, it is advisable to read the best laptop for programming reviews before you buy them. Remember that it is a tool that is supposed to facilitate your work and learning. Therefore, choosing one wisely is vital to your success.