Windows Azure Cloud Storage ermöglicht es Ihnen bereits ab 0,10€ pro GB/Monat die Vorteile der Cloud zu nutzen.
Willkommen bei dotnet-snippets.de! Snippet hinzufügen Login Registrieren
Snippets in der Datenbank: 1551 | Anzahl registrierter User: 1841 | Besucher online: 344
Hauptmenü
Home
Top Ten
Zufälliger Snippet
FAQs
.NET Community
dotnet-forum.de
dotnet-kicks.de
Social

RSS Feeds
Rss Alle Snippets
Rss C#
Rss VB.NET
Rss C++
Rss ASP.NET
Partner
Member of Microsoft Community Leader/Insider Program (CLIP)

Textbox-Extension nur numerische Werte zulassen mit Ein-/Aus


Autor: HTD
Sprache: VB.NET
Bewertung:
noch nicht bewertet
Anzahl der Aufrufe: 8715
  
Kick it on dotnet-kicks.de  

Beschreibung:

Textbox numerische Werte zulassen mit einem Ein-/Ausschalter als Extension

Abgelegt unter: Textbox, Extentsion.



Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
        ''' <summary>
        ''' Nur Eingabe von Zahlen zulassen {0-9/,/-}
        ''' </summary>
        ''' <param name="T">Typ TextBox</param>
        ''' <param name="allow">Ein-/Ausschalten numerische Eingabe</param>
        ''' <remarks></remarks>
        <Extension()> _
       Public Sub AllowNumeric(ByVal T As TextBox, ByVal allow As Boolean)
            If T IsNot Nothing Then
                If allow Then
                    AddHandler T.KeyPress, AddressOf DoubleKeyPresser
                Else
                    RemoveHandler T.KeyPress, AddressOf DoubleKeyPresser
                End If
            End If
        End Sub


        Private Sub DoubleKeyPresser(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs)
            Select Case e.KeyChar
                Case ControlChars.Tab, ControlChars.Back : Exit Sub
                Case ControlChars.Cr : e.Handled = True : SendKeys.Send("{TAB}") : Exit Sub
                Case "0"c To "9"c : Exit Sub
                Case "-"c
                    If _CountStrings(CType(sender, TextBox).Text, CChar("-")) = 0 Then Exit Sub
                Case ","c       ' nur maximal 1 Komma zulassen
                    If _CountStrings(CType(sender, TextBox).Text, CChar(",")) = 0 Then Exit Sub
                Case "."c
                    If _CountStrings(CType(sender, TextBox).Text, CChar(",")) = 0 Then e.KeyChar = ","c : Exit Sub
            End Select

            e.Handled = True
        End Sub

        Private Function _CountStrings(ByVal str As String, ByVal regexStr As Char) As Integer
            Dim regex As New RegularExpressions.Regex(regexStr)
            Return regex.Matches(str).Count
        End Function
Sie haben Fragen zu diesem Snippet oder brauchen Hilfe bei der .NET Entwicklung?
Freundliche und kompetente Entwickler helfen Ihnen gern weiter im Forum für .NET Entwicklung.



Kommentare:
(Zum Schreiben von Kommentaren bitte anmelden.)

lotbec schrieb am:  18.07.2009 17:50:51

Die Idee ist gut, allerdings kann man das Minuszeichen auch inmitten der Zahl machen :-)


schlecht sehr gut
1 2 3 4 5 6 7 8 9 10
Nur angemeldete User können Snippets bewerten.