ForceTextBoxNumeric – Force a TextBox control to accept only numeric digits

 Shared Function _    GetWindowLong(ByVal hWnd As Integer, ByVal nIndex As Integer) As IntegerEnd Function Shared Function _    SetWindowLong(ByVal hWnd As Integer, ByVal nIndex As Integer, _    ByVal dwNewLong As Integer) As IntegerEnd Function' Force a TextBox control to accept only numeric digits' Cancel the effect by passing Force = False'' Note that it only accepts positive integer valuesSub ForceTextBoxNumeric(ByVal ctl As TextBox, Optional ByVal force As Boolean = _    True)    Const GWL_STYLE = (-16)    Const ES_NUMBER = &H2000    ' get current style    Dim style As Integer = GetWindowLong(ctl.Handle.ToInt32(), GWL_STYLE)    If force Then        style = style Or ES_NUMBER    Else        style = style And Not ES_NUMBER    End If    ' enforce new style    SetWindowLong(ctl.Handle.ToInt32(), GWL_STYLE, style)End Sub

Share the Post:
Share on facebook
Share on twitter
Share on linkedin

Overview

Recent Articles: