formatieren einer windows forms Textbox mit einem " tausend-Trennzeichen und dezimal-separtor für Numerische Eingabe
Ich bin Neuling mit Winforms und versuchen, etwas zu tun. Ich bin mit C#.
Ich bin mit windows forms und ich habe einen 8 textbox auf meiner form, alle sind mit numerischen Dezimalwert.
Ich mag zu erreichen, die Ergebnisse unter. meine Dezimaltrennzeichen ist ein Komma und Tausendertrennzeichen ein Punkt.
Die ich je gesehen habe so etwas wie ##.###,## oder was auch immer, aber kann mich nicht erinnern.... Kann mir jemand Rat wie das zu erreichen ist die unter Ansatz?
Also die Idee ist, wenn ich geben Sie 1234 ein und lassen Sie den Fokus aus dem Textfeld sollte es formatieren und wenn ich in die textbox wieder die Tausender-Trennzeichen sollten nicht formatieren, nur das Dezimaltrennzeichen.
Ich glaube, ich habe verwenden einige events, wie LostFocus?
Eingang result
1234 1.234,00
12.34 12,34
12,34 12,34
1234567 1.234.567,00
12,34 12,34
12345,67 12.345,67
string
s oder numerische Werte), die durch Ihre eigene Formatierung Methode. Der Grund dafür ist, dass Sie erfordern individuelle Verhalten, die änderungen auf der Grundlage der input-Werte in einem nicht-standard-Weg.InformationsquelleAutor ethem | 2013-03-18
Du musst angemeldet sein, um einen Kommentar abzugeben.
Auf Ihre LostFocus-Ereignis in die textbox verwenden:
Stellen Sie sicher, dass der text double /integer zuerst vor der Anwendung der oben genannten Logik, oder es wird die Ausnahme auslösen. Diese Lösung ist ziemlich hart, zäh.
Wenn Sie möchten, das format zu sein, in bestimmten Kultur eher als Ihre aktuelle computer-Kultur, dann
Obigen Beispiel ist für die Indonesische Währung format, welches Trennzeichen für Tausender verwenden Sie einen Punkt (".") statt Komma (",").
Oh sorry, scheint, wie Schreibe ich das falsche format.
mit der ne-format: 1145 wird 1,145 und 11.45 wird 11 und 50 bleibt 50
Oh, ich habe aktualisiert mein einmal beantworten. Haben Sie nicht sehen Sie Ihre Anforderung von trailing zero
genau was ich brauche nur 1 Sache 1) in Ihrem code Tausendertrennzeichen ein Komma sollte ein Punkt sein UND das Dezimalzeichen ist der Punkt, es sollte ein Komma... Ihr code: 1,145.00 Uhr sollte es 1.145,00
InformationsquelleAutor Fendy
Vielleicht könnten Sie das MaskedTextBox -
http://msdn.microsoft.com/en-us/library/system.windows.forms.maskedtextbox.aspx
Du könntest einstellen der Maske auf der Grundlage der input-Länge bei Fokus-Verlust. Hoffe, das ist hilfreich.
Es könnte funktionieren, wenn Sie entfernen Sie die Maske auf Enter, dann auf Urlaub, überprüfen Sie die Länge und tragen Sie eine Maske.
InformationsquelleAutor stevepkr84