2012-01-19 33 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"); 
    } 
}