2012-01-19 30 views
2

我有一个在VB.net中创建的表单。它用于从用户获取一些信息。表单没有绑定到任何数据源。Vb.net combobox formatstring属性不起作用

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

当我运行我的应用程序时,这种格式不适用于输入数字或当我离开组合框时输入到组合框中的值。

我错过了什么?

+0

您可以发布您的代码吗? – Dan

+2

该属性仅适用于绑定控件。 –

回答

0

将FormattingEnabled属性设置为True。

+0

对不起 - 我应该说FormattingEnabled也设置为True。 – user1144318

0

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

下面的代码示例将在焦点离开控制时将组合框中的文本格式化为默认货币。错误处理可以在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"); 
    } 
}