我是Winforms开发的新手,我将在文本框中向用户显示数据。文本框将使用货币数据进行数据绑定,因此我尝试格式化正在显示的值。
我看了一个蒙面文本框,但这并不是我想要的,因为它没有把小数点后的分数。
我是否需要为每个与此类似的文本框编码?
TextBox.Text = DataSet.DataView[0].Amount.ToString("c");
我有很多需要格式化的文本框,所以我想知道是否需要为每个文本框执行此操作。有没有人有任何建议?
答案 0 :(得分:3)
您可以创建自己的标准文字框
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;
答案 1 :(得分:1)
想象一下,您有来自mySumInvestment
等双变量的总数,并且您希望将其置于具有美国货币格式的文本框中。那么这就是你可以做的事情
textBox5.Text = mySumInvestment.ToString("c", CultureInfo.CreateSpecificCulture("en-US")); // In order to format as currency