Login | Register   
LinkedIn
Google+
Twitter
RSS Feed
Download our iPhone app
TODAY'S HEADLINES  |   ARTICLE ARCHIVE  |   FORUMS  |   TIP BANK
Browse DevX
Sign up for e-mail newsletters from DevX


Tip of the Day
Language: Visual Basic
Expertise: Beginner
Mar 12, 2001

Option Explicit


Many developers code text boxes to only accept numeric values. They usually forget about keyboard and mouse copy and paste functions. The following code only allows values 1 to 9 in the text area and it doesn't disable copy and paste commands.
 
Dim strContentsBeforePaste As String

Private Sub Text1_KeyPress(KeyAscii As Integer)

    Select Case KeyAscii
        Case 3          'Copy - Ctrl+C
        Case 8          'Backspace
        Case 22         'Paste - Ctrl+V
            strContentsBeforePaste = Text1.Text
        Case 24         'Cut - Ctrl+X
        Case 48 To 57   '0-9
        Case Else
            KeyAscii = 0
    End Select

End Sub

Private Sub Text1_KeyUp(KeyCode As Integer, Shift As Integer)

    'check if keyboard pasted data is numeric
    If KeyCode = 86 Then  'paste - Ctrl+V
        If Not IsNumeric(Text1.Text) Then
            Text1.Text = strContentsBeforePaste
            MsgBox 
Alex Whyte
 
Comment and Contribute

 

 

 

 

 


(Maximum characters: 1200). You have 1200 characters left.

 

 

Sitemap
Thanks for your registration, follow us on our social networks to keep up-to-date