Formatierung in MaskedTextbox

JJB

Cogito ergo brumm
Hallo zusammen,

vielleicht kann mir wer bei der MaskedTextBox helfen.

Ich möchte in einem Feld die Eingabe einer Version ermöglichen.
Diese hat das Format 0.0.0.0, das Anfragezeichen ist * (es steht zu Beginn *.*.*.*).
Da in der MaskedTextbox der Punkt aber bereits für das Datum reserviert ist (verwandelt sich in ',') lautet mein Format: 0\.0\.0\.0
Ich kann nun einfach einen String angeben z.B. 1234 und die Version wird richtig erkannt als "1.2.3.4".

Aber was wenn ich die Version "1.2.10.4" eingeben möchte ?

Es wird immer nur ein Zeichen pro Element, also maximal 4 Zeichen akzeptiert.
Das heißt ich muss in der Lage sein, den Punkt einzugeben um zu signalisieren, wann ich zum nächsten Element übergehen möchte.
Es gelingt mir aber nicht einen Punkt "\." einzugeben.
Das Format 00\.00\.00\.00 erwartet von mir immer zwei Zeichen, sonst geht es nicht weiter. Also auch keine Lösung.
Nehme ich das Format 09\.09\.09\.09 erhalte ich auch 12.10.4*.**.

Wie kann ich den Punkt als Trennzeichen eingeben oder überhaupt ein Trennzeichen eingeben, um zu zeigen, dass die Zahl beendet ist und ich zum nächsten Element übergehen will ?

Für Hilfe wäre ich dankbar.

JJB
 

Shakie

Erfahrenes Mitglied
Der Punkt ist nicht für das Datum reserviert sondern steht für das Dezimaltrennzeichen der jeweiligen Kultur. In Deutschland wird deshalb aus dem Punkt ein Komma (siehe hier).

Gibt es eine größte Versionsnummer, die maximal eingegeben werden darf? Scheint 09\.09\.09\.09 doch bereits die Lösung zu sein.

Mit der Leertaste kannst du ein Zeichen weiterspringen, wenn du mit deiner Eingabe für einen Bereich fertig bist.
 

JJB

Cogito ergo brumm
Wie gesagt, da erscheinen dann die Promtzeichen. Im besten Fall steht da am Ende "1*.2*.3*.4*"
Und das ist für eine spätere Formatierung nicht hilfreich. Auch der Validierungstyp ist mir keine Hilfe. Egal mit welchen Argumenten und Membern ich gearbeitet habe irgendwie ist das nicht das richtige Control.

Ich habe daher eine Textbox genommen und mir das selbst geschrieben, ohne Parser oder sonst was. Ich habe einfach das KeyPress Event und das Validating Event benutzt und fertig.
Spart auch Unmengen Zeit.

Trotzdem Danke für die Mühen.