Winforms Формат TextBox To Currency - PullRequest
       1

Winforms Формат TextBox To Currency

4 голосов
/ 31 августа 2011

Я новичок в разработке Winforms, и я собираюсь отображать данные для моих пользователей в текстовом поле.Текстовое поле будет связано с данными в валюте, поэтому я пытаюсь отформатировать отображаемое значение.

Я посмотрел на замаскированное текстовое поле, но это не совсем то, что я ищу, потому что он не ставит центы после десятичной дроби.

Нужно ли кодировать каждое текстовое полепохоже на это?

TextBox.Text = DataSet.DataView[0].Amount.ToString("c");

У меня есть много текстовых полей, которые необходимо отформатировать, поэтому мне интересно, нужно ли мне сделать это для каждого из них.У кого-нибудь есть предложения?

Ответы [ 2 ]

3 голосов
/ 31 августа 2011

Вы можете создать свой собственный TextBox, полученный из стандартного

 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 голос
/ 13 февраля 2015

Представьте, что у вас есть итоговое значение из двойной переменной, такой как mySumInvestment, и вы хотите поместить его в текстовое поле с форматом валюты США. Тогда это то, что вы могли бы сделать

textBox5.Text = mySumInvestment.ToString("c", CultureInfo.CreateSpecificCulture("en-US")); // In order to format as currency
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...