Visual Basic, VB .NET, ASP, Active X, Access, SQL Server

Fazendo um TextBox aceitar apenas números

Usando duas APIs você pode limitar a entrada de texto em um TextBox apenas a números. Veja como fazer usando o código abaixo:

Declarações:

Private Const GWL_STYLE = (-16)
Private Const ES_NUMBER = &H2000

Private Declare Function GetWindowLong Lib "user32" Alias "GetWindowLongA" (ByVal hwnd As Long, ByVal nIndex As Long) As Long
Private Declare Function SetWindowLong Lib "user32" Alias "SetWindowLongA" (ByVal hwnd As Long, ByVal nIndex As Long, ByVal dwNewLong As Long) As Long

Procedimento:

Public Function TextBoxNumerico(otxtbox As TextBox) As Boolean
    Dim lngHwnd As Long
    Dim lngReturn As Long

    lngHwnd = GetWindowLong(otxtbox.hwnd, GWL_STYLE)
    lngReturn = SetWindowLong(otxtbox.hwnd, GWL_STYLE, lngHwnd Or ES_NUMBER)
    'se retornar false é porque falhou
    TextBoxNumerico = (lngReturn <> 0)
End Function