ich habe eine Frage zu den Textboxen.
Und zwar kann dort der User sehr gro�e Zahlen eingeben.
Ich h�tte nun gerne, dass diese Zahlen gleich bei der Eingabe in folgendes
Format formatiert werden:
1.000.000.000,00
Und das, wie gesagt, bei der Eingabe.
Ich habe das schon, wenn die Textbox den Fokus verliert.
Da klappt das ohne Probleme.
Doch ich habe keine L�sung daf�r, wie ich die Zahlen formatieren kann, wenn
der User noch Zahlen eingibt.
Es ist im Moment auch nicht m�glich, eine MaskedTextBox zu verwenden.
Die �nderungen w�ren zu umfangreich.
Vielen Dank und sch�ne Gr��e
Christian
schau Dir das alles mal an:
[C# Validating TextBox Control]
http://www.codeproject.com/KB/miscctrl/validatingtextbox.aspx
[Masked C# TextBox Control]
http://www.codeproject.com/KB/edit/maskedcsedit.aspx
Forum:
http://www.csharpfriends.com/Forums/ShowPost.aspx?PostID=35361
http://social.msdn.microsoft.com/forums/en-US/winforms/thread/f846389a-0f66-4893-b552-45fcc99c4a26/
Du kannst u.U. einfach ein paar Zeilen in deinem
Vorhanden Code �nern, so das alle deine Controls
die erweiterte TextBox-Klasse verwenden, d.h. bei
den variablendeklarationen kannst Du dann diese
einfach gegen die neue Klasse ersetzten,...
Ansonsten google mal nach diesen Begriffen:
"format textbox input C#"
Gr��e
Kerem
--
--
-----------------------
Beste Gr�sse / Best regards / Votre bien devoue
Kerem G�mr�kc�
Latest Project: http://www.pro-it-education.de/software/deviceremover
Latest Open-Source Projects: http://entwicklung.junetz.de
-----------------------
"This reply is provided as is, without warranty express or implied."
> ich habe eine Frage zu den Textboxen.
> Und zwar kann dort der User sehr gro�e Zahlen eingeben.
> Ich h�tte nun gerne, dass diese Zahlen gleich bei der Eingabe in
> folgendes Format formatiert werden:
> 1.000.000.000,00
> Und das, wie gesagt, bei der Eingabe.
Ich gebe Dir mal einen Ansatz, der
die grobe Richtung aufzeigt:
bool dontEvaluateTextChanged = false;
string oldText = "";
private void textBox1_TextChanged(object sender, EventArgs e)
{
if (dontEvaluateTextChanged) return;
if (textBox1.Text == "") return;
long wert=long.MinValue;
bool ok = long.TryParse(textBox1.Text,
NumberStyles.AllowThousands, null, out wert);
if (!ok)
{
textBox1.Text = oldText;
return; // oder z.B. ErrorProvider
}
dontEvaluateTextChanged = true;
textBox1.Text = String.Format("{0:#,0}", wert);
textBox1.SelectionStart = textBox1.Text.Length;
dontEvaluateTextChanged = false;
oldText = textBox1.Text;
}
______
Es muss zum Beispiel noch die Textmarke
ggf. angepasst werden (u.a.).
ciao Frank
--
Dipl.Inf. Frank Dzaebel [MCP/MVP C#]
http://Dzaebel.NET