Friday, March 3, 2017

How To Create Rounded Corner Textbox In C#

To Create A Round Corner Textbox In C#

____________________________________
Protected Overrides Function ProcessCmdKey( ByRef msg _
As System.Windows.Forms.Message, _
ByVal keyData As System.Windows.Forms.Keys) As
Boolean
If msg.WParam.ToInt32() =
CInt(Keys.Enter) Then SendKeys.Send( "{Tab}" )
Return True
ElseIf msg.WParam.ToInt32() = CInt(Keys. Decimal ) Then SendKeys.Send( "," )
Return True
End If
End Function
Protected Overrides Sub WndProc( ByRef m As _ System.Windows.Forms.Message)
Handles MyBase .WndProc(m)
Select Case m.Msg
Case &HF 'WM_PAINT
Dim rect As New Rectangle( 0, 0 , MyBase .Width,
MyBase .Height)
Dim hDC As IntPtr = GetWindowDC( Me .Handle)
Dim g As Graphics = Graphics.FromHdc(hDC)
If Me .Enabled Then g.Clear(Color.White)
Else g.Clear(Color.FromName( "control" ))
End If DrawBorder(g)
DrawText(g)
ReleaseDC( Me.Handle, hDC)
g.Dispose()
Case &H7, &H8, &H200, &H2A3
'CMB_DROPDOWN, CMB_CLOSEUP, WM_SETFOCUS,
'WM_KILLFOCUS, WM_MOUSEMOVE, 'WM_MOUSELEAVE
            UpdateState()
End Select
End Sub
Private Sub TekenRondeRechthoek( ByVal g As Graphics, _
ByVal pen As Pen,
ByVal rectangle As Rectangle, _
ByVal radius As
Single )
Dim size As Single = (radius * 2.0!)
Dim gp As GraphicsPath =
New GraphicsPath
gp.AddArc(rectangle.X, rectangle.Y, size, size, 180 ,
90 )
gp.AddArc((rectangle.X + (rectangle.Width - size)), _
               rectangle.Y, size, size, 270 , 90 )
gp.AddArc((rectangle.X + (rectangle.Width - size)), _
              (rectangle.Y + (rectangle.Height - size)), _
              size, size, 0, 90 )
gp.AddArc(rectangle.X, (rectangle.Y + _
             (rectangle.Height - size)), size, size, 90 , 90 )
gp.CloseFigure()
g.DrawPath(pen, gp)
gp.Dispose()
End Sub

No comments:

Post a Comment