Textfelder Eingabeformat Platzhalter

bonke-online

Grünschnabel
Textfelder Eingabeformat Platzhalter


--------------------------------------------------------------------------------

Hoho Ihr Freaks,
könnte mir bitte jemand sagen, Wie ich Textfelder ein bestimmtes Eingabeformat (wie beim Access) zuweisen kann. ZB. bei Datumseingaben __.__.____ oder ähnliches, mit Vorgabe des Punktes...
mfG
Jan Bonke
 
Entweder Du benutzt vorgefertigte Controls, dafür sind mir aber keine Standardcontrols in VS bekannt.
Oder Du erstellt dir ein eigenes Usercontrol. Dein Vorgabestring "__.__:___" müsstest Du dann selbst setzen und dann die Tastertureingaben abfangen, Testen und automatisch die Position setzen.
 
wie könnte ein solcher String aussehen?
Es ist doch ganz schön Kompliziert, aber bei Access ein klaks.
Könntest du mir hier helfen?
danke
 
Du setzt bei der Initalisierung einfach dein Formatstring als Standardtext :)
Solltest Du solche Eingabefelder öffter benötigen, lohnt es sich ein eingenes Usercontrol zu erstellen oder gleich von der Textbox eine eigene Klasse abzuleiten.
 
Hallo bonke-online!

Ein kleines Beispiel:
Code:
class DateTextBox : TextBox
{
	public void DateTextBox () {
		this.TextChanged += new System.EventHandler( ValidateChangedText );
	}

	private void ValidateChangedText ( object sender, EventArgs e ) {
		if ( this.Text != string.Empty )
			/* TODO */
 	}
}
TODO: Überprüfen kannst direkt nach der Eingabe im eines Zeichens im TextBox.TextChanged - Event mit [thread=179823]REGEX[/thread]
oder alternativ hinterher (wenn das Textfeld den Focus verliert) mit dem TextBox.Validating - Event.

Btw.
Code:
string.Format( "{0: D2}.{1: D2}.{2: D4}", 21, 4, 2005 );
Erzeugt: 21.04.2005
(Denk Dir mal das Leerzeichen vor D2 & D4 weg. Die Forensoftware will sonst ein Smily plazieren. :(

MfG, cosmo
 

Neue Beiträge

Zurück