文本框显示格式

Jat*_*ing 2 c# formatting textbox winforms

我想在每组3位数之后添加",".例如:当我输入3000000时,文本框将显示3,000,000,但值仍为
3000000.我尝试使用maskedtexbox,有一个缺点,即maskedtexbox显示的数字如_,__ , __.

Dmi*_*hin 6

尝试将此代码添加到KeyUp您的事件处理程序TextBox

private void textBox1_KeyUp(object sender, KeyEventArgs e)
{
    if (!string.IsNullOrEmpty(textBox1.Text))
    {
        System.Globalization.CultureInfo culture = new System.Globalization.CultureInfo("en-US");
        int valueBefore = Int32.Parse(textBox1.Text, System.Globalization.NumberStyles.AllowThousands);
        textBox1.Text = String.Format(culture, "{0:N0}", valueBefore);
        textBox1.Select(textBox1.Text.Length, 0);
    }
}
Run Code Online (Sandbox Code Playgroud)

是的,它会更改存储在texbox中的值,但是只要您需要实际的数字,就可以使用以下行从文本中获取它:

int integerValue = Int32.Parse(textBox1.Text, System.Globalization.NumberStyles.AllowThousands);
Run Code Online (Sandbox Code Playgroud)

当然不要忘记检查用户输入文本框的内容实际上是一个有效的整数.