在C#窗体中设置文本框的货币值,可以通过以下步骤实现:
private void Form1_Load(object sender, EventArgs e)
{
textBox1.Text = "0"; // 设置初始值为0
textBox1.TextAlign = HorizontalAlignment.Right; // 文本右对齐
textBox1.KeyPress += textBox1_KeyPress; // 添加键盘输入事件
textBox1.TextChanged += textBox1_TextChanged; // 添加文本变化事件
}
private void textBox1_KeyPress(object sender, KeyPressEventArgs e)
{
// 只允许输入数字、小数点和退格键
if (!char.IsControl(e.KeyChar) && !char.IsDigit(e.KeyChar) && e.KeyChar != '.')
{
e.Handled = true;
}
// 只允许输入一个小数点
if (e.KeyChar == '.' && (sender as TextBox).Text.IndexOf('.') > -1)
{
e.Handled = true;
}
}
private void textBox1_TextChanged(object sender, EventArgs e)
{
// 格式化文本框的值为货币格式
if (!string.IsNullOrEmpty(textBox1.Text))
{
decimal value = decimal.Parse(textBox1.Text);
textBox1.Text = value.ToString("C");
}
}
以上代码中,我们首先在窗体加载事件中设置文本框的初始值为0,并将文本对齐方式设置为右对齐。然后,我们添加了键盘输入事件和文本变化事件。
在键盘输入事件中,我们限制只能输入数字、小数点和退格键,并且只允许输入一个小数点。
在文本变化事件中,我们将文本框的值解析为decimal类型,并使用"C"格式化字符串将其转换为货币格式,然后重新赋值给文本框。
这样,当用户在文本框中输入数字时,文本框的值会自动以货币格式显示。
腾讯云相关产品和产品介绍链接地址:
请注意,以上链接仅供参考,具体产品选择应根据实际需求进行评估。
领取专属 10元无门槛券
手把手带您无忧上云