Vb.net combobox formatstring属性不起作用

时间:2012-01-19 18:31:58

标签: vb.net forms combobox format currency

我在VB.net中创建了一个表单。它用于从用户那里获取一些信息。表单不受任何数据源的约束。

此表单上的组合框用于输入成本。我希望使用货币格式显示用户输入的值。我使用了格式字符串对话框,该对话框从组合框的FormatString属性和所选货币的省略号按钮打开。这将C2放入FormatString属性。

当我运行我的应用程序时,此格式不会应用于输入数字或退出组合框时输入组合框的值。

我错过了什么?

2 个答案:

答案 0 :(得分:0)

将FormattingEnabled属性设置为True。

答案 1 :(得分:0)

FormatString属性仅适用于数据绑定控件。但是,控件中的输入仍可使用ToString()Change事件上的Leave方法进行格式化。

下面的代码示例会在焦点离开控件后将组合框中的文本格式化为默认货币。错误处理可以在else子句中完成:

private void comboBox1_Leave(object sender, EventArgs e)
{
    string s = comboBox1.Text;
    decimal result;
    if (Decimal.TryParse(s, out result))
    {
        comboBox1.Text = result.ToString("C2");
    }
}