我是Winforms开发的新手,我将在文本框中向用户显示数据。该文本框将与货币数据绑定(bind)在一起,因此我正在尝试格式化所显示的值。

我看了一个“蒙版文本框”,但这并不是我想要的,因为它不会将美分放在小数点后。

我是否需要为每个文本框编写与此类似的代码?

TextBox.Text = DataSet.DataView[0].Amount.ToString("c");

我有很多需要格式化的文本框,所以我想知道是否需要对每个文本框都进行格式化。有没有人有什么建议?

最佳答案

您可以创建派生自标准之一的TextBox

 public class TextBoxEx : TextBox
{
    public string Format { get; set; }

    private object datasource = new object();
    public object Datasource
    {
        get { return datasource; }
        set
        {
            datasource = value;
            if (datasource == null)
                base.Text = string.Empty;
            else if(string.IsNullOrWhiteSpace(Format))
                base.Text = datasource.ToString();
            else
                base.Text = string.Format("{0:"+ Format + "}",datasource);
        }
    }
}

用法:
   textbox.Format = "c";
   textbox.Datasource = DataSet.DataView[0].Amount;

关于c# - Winforms将文本框格式设置为货币,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/7258562/

10-10 18:46
查看更多