private void TextBox_TextChanged(object sender, EventArgs e)
{
string value = TextBox.Text.Replace(",", "");
double dbl;
if (double.TryParse(value, out dbl))
{
TextBox.TextChanged -= TextBoxTextChanged;
TextBox.Text = string.Format("{0:#,#0}", dbl);
TextBox.SelectionStart = TextBox.Text.Length;
TextBox.TextChanged += TextBoxTextChanged;
}
}Calculator - Tausendertrennzeichen durch Komma in C#
ich über Code-Rechner für die Herstellung verwendet. Ich möchte Ergebnis Komma mit Dezimalwert erhalten. Ich möchte 1.234.1234 in die TextBox eingeben, aber ich kann nicht 1.234.1234 in das Textfeld eingeben. Ich meine Komma mit Dezimalwert nicht bekommen.
Kann mir bitte jemand helfen, dieses Problem zu lösen?
Ich kann nicht verstehen, warum Sie einen Event-Handler in der gleichen Event-Handler zuweisen ... TextBox.TextChanged + = TextBoxTextChanged; In jedem Fall müssen Sie CultureInfo verwenden, um die Nummer für eine bestimmte Kultur – Oscar
@Oscar zu formatieren. Es sieht so aus, als ob der Event-Handler ('- =') ausgeschaltet, der Text geändert und dann wieder eingeschaltet werden soll ('+ ='). Dies soll vermutlich die Zuweisung zu "TextBox.Text" stoppen, indem das Ereignis unendlich wiederholt wird. – paxdiablo