in Textfeld nur Zahlen und Komma zulassen in Textfeld nur Zahlen und Komma zulassen
Danke Danke:  0
Ergebnis 1 bis 15 von 15
  1. Hey Ihr,

    bin am Entwickeln einer App für WP7. Ist nur so für mich zur Übung.

    Ich programmiere in Visual Studio - VB

    Jetzt hätte ich eine Frage.

    Ich habe ein Textfeld, in das nur Zahlen und 1 Komma zugelassen werden soll. Wie kann ich das einstellen, dass hier keine Buchstaben reindürfen?

    Mit InputScope habe ich bereits "TelephoneNumber" eingestellt, jedoch kann hier auch # oder * eingegeben werden.

    Danke.
    0
     

  2. Falls es das gibt, solltest du evtl mal eine MaskedTextbox verwenden (kenne das Element nicht wirklich, habs nur in der Toolbox gesehen, als ich ne WinForm gemacht habe, daher weiß ich nicht, obs das auch in Silverlight gibt)
    Ansonsten, falls möglich, verwende reguläre Ausdrücke, um die Eingabe zu prüfen (oder du bindest das Ereignis an nen Handler, das ausgelöst wird, wenn der Inhalt der Box geändert wird und schaust, welches Zeichen dazukam und lehnst unerwünschtes einfach ab)
    0
     

  3. Kannst du mit dem TextChanged Event machen. Dann überprüfst du was das letzte eingegebene Zeichen ist, und wenn es dir nicht passt lässt du das letzte Element löschen. Am Schluss musst du jedoch den Index wieder an den Schluss stellen =)
    0
     

  4. Ich hab es jetzt so gemacht, wie Nemoc geschrieben hat.

    Wenn er ein Zeichen eingibt, das nicht angenommen werden soll, dann wird es gelöscht.

    Jedoch wenn er 2 Komma eingibt, wäre dies falsch. Komma habe ich zugelassen, jedoch sollte nur insgesamt 1 Komma erlaubt sein. Wie würde ich das realisieren?
    0
     

  5. dazu könnteste theoretisch die zeichen durchgehen, die im string sind (über string.Contains oder so)
    oder du nutzt am ende eben reguläre ausdrücke, sofern die aufm wp7 vorhanden sind und nutzbar.
    0
     

  6. Du kannst dir ja zum beispiel folgende Variabel bauen: bool bKomma = false;
    nun kannst du mit einer foreach schleife durch den string navigieren. wenn ein Komma eingegeben wurde setzt du bKomma auf True.
    wenn nun bKomma true ist und das zu überprüfende zeichen ein komma ist, wird es nicht akzeptiert (sprich gelöscht oder ein fehler ausgegeben oder was auch immer du da machen willst).
    wen es keines ist wird die variable wieder auf false gesetzt.

    Hoffe habe keinen Überlegungsfehler drin, aber sollte klappen =)

    Gruss
    Nemoc
    0
     

  7. Eine kleine Anmerkung: Versuch es doch mal mit dem KeyDown-Event statt dem TextChanged. Dort gibt es in den EventArgs ein Property namens Handled. Wenn Du das auf true setzt, wird der Tastendruck 'verschluckt' und Du musst nicht erst wieder löschen und den Cursor neu stellen.

    Um zu checken, ob eine anständige Zahl eingegeben wurde, versuch mal double.TryParse(). Das Gute daran ist, dass Du bei erfolgreicher Prüfung direkt nen ordentlichen double hast.

    Gruß
    0
     

  8. Um rauszubekommen ob bereits ein Komma geschrieben wurde kannst du folgendes machen:
    Code:
    if TextBox1.Text.IndexOf(",") = -1 then
      'Kein Komma drin
    else
      'Komma schon drin
    end if
    0
     

  9. Robby Light Gast
    Unter Mango hat sicher InputScope <InputScopeName NameValue="Number"/> geändert. Ich kann mir gut vorstellen, dass es genau das ist, was du brauchst.
    0
     

  10. 25.09.2011, 12:29
    #10
    Und vergiss bitte nicht, dass Eingaben auch aus der Zwischenablage erfolgen können. Diese werden bei den oben genannten Methoden nicht überprüft.
    0
     

  11. Zitat Zitat von Sachmet Beitrag anzeigen
    Und vergiss bitte nicht, dass Eingaben auch aus der Zwischenablage erfolgen können. Diese werden bei den oben genannten Methoden nicht überprüft.
    Löst TextChanged nicht aus wenn was gepastet wird? Muss ich mir anschauen, würde mich aber wundern.

    Zum Überprüfen wäre evtl. eine Regular Expression ganz nett. Die nötigen Klassen dafür sollten unter System.Text.RegularExpressions zu finden sein.

    Sowas wie \d+(,\d+)? würde da besagen, dass mindestens eine Ziffer kommen muss "\d+" kommt dann ein Komma "," muss mindestens eine Ziffer kommen, die Sachen mit Komma und Ziffer wäre jedoch optional.
    0
     

  12. Textchanged schon, aber nicht Keydown.
    Die beste Möglichkeit ist mir RegularExpressions oder wie Robby Light sagte mit dem InputScope, wenn dies das gewünschte Ergebnis bringt
    Bei den RegularExpressions aber noch bedenken, dass man manchmal ein Punkt anstatt eines Kommas verwendet in anderen Sprachen.
    0
     

  13. Ja, mit Punkt wärs dann \d+(\.\d+)?

    Oder halt \d+((\.|,)\d+)? da sollte er dann Punkt oder Komma annehmen.

    InputScope wäre wenn möglich natürlich das Optimale.
    0
     

  14. 26.09.2011, 11:19
    #14
    Ich hole das Dezimaltrennzeichen aus den Lokalitäts-Konstanten im System. Weiss jetzt grad nicht, wie die genau heissen.
    Mit der kostenlosen PocketPC.ch App von meinem OMNIA7 aus geschrieben.
    0
     

  15. Ist zwar eigentlich Offtopic hier aber nachdem es leider ein Problem ist, dass immer mal wieder zu Problemen auch mit Apps im Marketplace führt hier nochmal:

    double.Parse ist abhängig von der am System eingestellten Culture, damit wird der Punkt manchmal als Tausendertrennzeichen und manchmal als Dezimaltrennzeichen angesehen. Liest man jetzt Dinge aus einem Config-File denkt man da aber oft nicht dran und auf einmal geht es bei wem anders nicht.

    Hab das Problem jetzt schon von einigen App-Entwicklern gehört - vor allem wenn sie auf nem englischsprachigen Emulator und Telefon testen. Microsoft fällt das nämlich bei der Zertifizierung dann nicht auf, weil die auch nur auf Englisch testen. (Hab sogar schon ein XNA-Beispiel von Microsoft gefunden, dass sich dann auf nem deutschen Windows nicht kompilieren ließ deshalb).

    Also bei den ganzen Parse Methoden immer beachten, dass die in dieser Hinsicht "intelligent" sind.
    0
     

Ähnliche Themen

  1. Webcam zeigt nur Zahlen und Hyroglyphen
    Von ruebsamen.thomas im Forum Samsung Galaxy S
    Antworten: 2
    Letzter Beitrag: 03.05.2011, 22:19
  2. Nur bestimmte Internetseiten zulassen
    Von Seno im Forum HTC Touch Pro 2
    Antworten: 0
    Letzter Beitrag: 26.09.2010, 21:56
  3. 2. SIM nur Datenverkehr zulassen?
    Von Matia im Forum Plauderecke
    Antworten: 0
    Letzter Beitrag: 04.02.2010, 15:50
  4. Antworten: 4
    Letzter Beitrag: 09.10.2009, 19:19
  5. eVB Textfeld -> nur nummern als inhalt
    Von Peak im Forum Programmieren
    Antworten: 1
    Letzter Beitrag: 11.08.2004, 17:45

Besucher haben diese Seite mit folgenden Suchbegriffen gefunden:

c# textbox nur zahlen

visual studio textbox nur zahlen

C# textbox nur zahlen erlauben

c# nur zahlen in textbox

c# nur zahlen zulassen

c# textbox nur zahlen zulassen

textbox nur zahlen zulassen c#

textbox nur zahlen c#c# nur ein komma zulassenc# textbox nur zahlen und Kommacsharp nur zahlen zulassen c# textfeld nur zahlentextbox nur zahlen zulassen c vb 2010 textbox nur zahlensilverlight textbox nur zahlenwindows phone textbox nur zahlenwindows phone nur zahlen eingabewindows phone 7 textbox nur zahlen eingebenvisual studio 2010 textbox nur zahlenwp7 punkt in kommavisual basic 2010 textbox nur zahlenc# textbox zahlen und kommac nur zahlen zulassennur ein komma zulassen csharpmasked textbox

Stichworte