private void DecimalToCurrencyString(object sender, ConvertEventArgs e)
if(e.DesiredType != typeof(string))
e.Value = ((decimal) e.Value).ToString("c");
private void CurrencyStringToDecimal(object sender, ConvertEventArgs e)
if(cevent.DesiredType != typeof(decimal))
e.Value = Decimal.Parse(e.Value.ToString(), NumberStyles.Currency, null);
private void BindControl()
var binding = new Binding("Text", data, "value");
binding.Format += new ConvertEventHandler(DecimalToCurrencyString);
binding.Parse += new ConvertEventHandler(CurrencyStringToDecimal);
this.textBox1.DataBindings.Add(b);