none
Nur Zahlen in der Textbox zulassen RRS feed

  • Frage

  • Hallo zusammen,

    ich möchte in einer Textbox nur Zahlen zulassen, was ja auch nicht so schwierig ist:

    $objTextBox2.Add_KeyPress({if ( $_.KeyChar -notlike "[0-9 , .]") {$_.Handled = $true} })

    Hier lasse ich noch , und . zu. Ausserdem möchte jetzt noch, dass die Backspace Taste benutzt werden kann. Weiß da jemand Rat?

    Danke und Gruß

    Meister LampeSE

    Freitag, 27. Juli 2012 12:12

Antworten

  • # Dokumentation!
    # http://msdn.microsoft.com/de-de/library/system.windows.forms.keys.aspx
    
    Write-Host ("Backspace hat den Integer Wert = " + [int][System.Windows.Forms.keys]"Back")
    
    $objTextBox2.Add_KeyPress({if ( ($_.KeyChar -notlike "[0-9 , .]") -and ([int]$_.KeyChar -ne 8 )) {$_.Handled = $true} })


    Please click “Mark as Answer” if my post answers your question and click Vote as Help if my Post helps you.
    Bitte markiere hilfreiche Beiträge von mir als Hilfreich und Beiträge die deine Frage ganz oder teilweise beantwortet haben als Antwort.
    My PowerShell Blog http://www.admin-source.info
    [string](0..21|%{[char][int]([int]("{0:d}" -f 0x28)+('755964655967-86965747271757624-8796158066061').substring(($_*2),2))})-replace' '

    Freitag, 27. Juli 2012 13:05
  • Hallo Peter,

    super das war genau das was mir fehlte :-)

    Besten Dank

    Uwe

    Freitag, 27. Juli 2012 13:09

Alle Antworten

  • Hallo zusammen,

    ich möchte in einer Textbox nur Zahlen zulassen, was ja auch nicht so schwierig ist:

    $objTextBox2.Add_KeyPress({if ( $_.KeyChar -notlike "[0-9 , .]") {$_.Handled = $true} })

    Hier lasse ich noch , und . zu. Ausserdem möchte jetzt noch, dass die Backspace Taste benutzt werden kann. Weiß da jemand Rat?

    Danke und Gruß

    Meister LampeSE

    Wenn ich mich richtig erinnern kann, kannst du mit "like" keine regular expressions verwenden.

    An deiner Stelle würde ich auf "-match" zurückgreifen und spezifisch nach den von dir Zahlen und Zeichen suchen.

    $string -match [0-9,.]

    Falls das hier $true ergibt, dann kannst du einfach sagen, dass du die Eingabe nicht akzeptierst. Dann müsstest du einfach noch die Schleife anpassen und $_.Handled = $false setzten.

    Den Teil mit der Backspace Taste verstehe ich nicht ganz, warum sollte man die nicht verwenden können? ;-)


    Regards / Freundliche Grüsse King Julien




    Freitag, 27. Juli 2012 12:43
  • Hallo King Julian,

    durch das KeyPress und dem $_.Handled werden nur die Tsten erlaubt die angegeben wurden, also [0-9 ,.] alle anderen Tasten sind gespeert, außer Pfeil-,Entf,- Einfg..

    Das mit dem -match ist ne gute Idee, probiere ich mal aus.

    Danke und Gruß

    MeisterLampeSE

    Freitag, 27. Juli 2012 12:53
  • # Dokumentation!
    # http://msdn.microsoft.com/de-de/library/system.windows.forms.keys.aspx
    
    Write-Host ("Backspace hat den Integer Wert = " + [int][System.Windows.Forms.keys]"Back")
    
    $objTextBox2.Add_KeyPress({if ( ($_.KeyChar -notlike "[0-9 , .]") -and ([int]$_.KeyChar -ne 8 )) {$_.Handled = $true} })


    Please click “Mark as Answer” if my post answers your question and click Vote as Help if my Post helps you.
    Bitte markiere hilfreiche Beiträge von mir als Hilfreich und Beiträge die deine Frage ganz oder teilweise beantwortet haben als Antwort.
    My PowerShell Blog http://www.admin-source.info
    [string](0..21|%{[char][int]([int]("{0:d}" -f 0x28)+('755964655967-86965747271757624-8796158066061').substring(($_*2),2))})-replace' '

    Freitag, 27. Juli 2012 13:05
  • Hallo Peter,

    super das war genau das was mir fehlte :-)

    Besten Dank

    Uwe

    Freitag, 27. Juli 2012 13:09