У меня есть форма Windows с привязанным к данным textBox, в котором отображается номер телефона, полученный следующим образом: (800) 555-5555. Данные хранятся в десятичном формате, а затем я отображаю их в правильном формате. Проблема, однако, заключается в том, что когда я щелкаю текстовое поле, а затем нажимаю на что-то еще, оно изменяется с (800) 555-5555 на 8005555555. Форматирование теряется. Я попытался переформатировать цифры снова в событии textBox, но это не работает. Что может быть причиной этого?
против 2010 c #
чтобы сначала отформатировать, я делаю это
private string FormatCustPhoneBox(string a)
{
string phone = a;
for (int j = 0; j < phone.Length; j++)
{
if (!Char.IsDigit(phone, j))
{
phone = phone.Remove(j, 1); //Remove any non numeric chars.
j--;
}
}
return phone;
}
тогда я делаю это
private void FormatPhoneNum()
{
decimal iPhone = decimal.Parse(CustomerPhone1Box.Text);
CustomerPhone1Box.Text = string.Format("{0:(###) ###-####}", iPhone);
}