none
textBox Eingabe: Nur Zahlen und Komma RRS feed

  • Frage

  • Hallo...
    Habe soweit alles hinbekommen dass die TextBox nur Zahlen, Backspace annimmt. Mir fehlt aber noch das Komma, schließlich sollte mein Rechner auch mit Komma Zahlen rechnen.
    Mein Code sieht bis jetzt so aus:
        Private Sub TextBox1_KeyPress(ByVal sender As System.Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles TextBox1.KeyPress
            Select Case Asc(e.KeyChar)
                Case 48 To 57, 8
                Case Else
                    e.Handled = True
            End Select
        End Sub
    Im Klartext: Zahlen sind erlaubt, Backspace (löschen). Mir fehlt noch das Komma...
    Kann mir einer das richtige sagen was ich dann noch schreiben müsste?
    Samstag, 13. Februar 2010 22:52

Antworten

Alle Antworten

  • Hallo Franz,

    schau dir mal an: Gewusst wie: Erstellen eines numerischen Textfelds
    dort wird gezeigt wie man die aktuellen Einstellungen der Kultur dazu nutzt.

    Und wie dort solltest Du Dir eine abgeleitete Klasse erstellen, so dass Du sie
    immer wieder nutzen kannst.

    Gruß Elmar
    Samstag, 13. Februar 2010 23:41
  • Hallo FranzBauer,

    Du musst der Liste der erlaubten Asc Code den für für das Komma hinzufügen, das ist die 44.
    P.S. Ein Amerikaner kann das Programm nicht nutzen, die nehmen den Punkt (= 46) als Dezimaltrenner.

    Private Sub TextBox1_KeyPress(ByVal sender As System.Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) >

    Handles TextBox1.KeyPress

        Select Case Asc(e.KeyChar)

            Case 48 To 57, 8, 44

            Case Else

                e.Handled = True

        End Select

    End Sub


    Olaf Helper ----------- * cogito ergo sum * errare humanum est * quote erat demonstrandum * Wenn ich denke, ist das ein Fehler und das beweise ich täglich http://olafhelper.over-blog.de
    Samstag, 13. Februar 2010 23:42
  • Hallo Franz Bauer
    44 <---------

    Falls Du noch mal Zeichen Filtern willst setze einfach ein Label auf eine Form und unter Ereignis KeyPress
    gibst Du Label1.Text = Asc(e.KeyChar) ein. Schon kennst Du die ASCs fürs Filtern.

    LG Peter
    Samstag, 13. Februar 2010 23:43