Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Zahlen in Textbox formatieren

62 views
Skip to first unread message

Christian Mauerer

unread,
May 1, 2009, 7:14:52 AM5/1/09
to
Hallo,

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


Kerem Gümrükcü

unread,
May 1, 2009, 8:43:48 AM5/1/09
to
Hallo 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."

Frank Dzaebel

unread,
May 1, 2009, 9:38:44 AM5/1/09
to
Hallo Christian,

> 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

0 new messages