Steps to reproduce:
public Form1()
{
InitializeComponent();
this.Text = Telerik.WinControls.VersionNumber.Number;
this.radMaskedEditBox1.Culture = new System.Globalization.CultureInfo("nl-BE");
this.radMaskedEditBox1.MaskType = Telerik.WinControls.UI.MaskType.Numeric;
this.radMaskedEditBox1.Mask = "C";
this.radMaskedEditBox1.Value = 570.00;
}
private void radButton2_Click(object sender, EventArgs e)
{
this.radMaskedEditBox1.Culture = new System.Globalization.CultureInfo("en-US");
}
private void radButton1_Click(object sender, EventArgs e)
{
this.radMaskedEditBox1.Culture = new System.Globalization.CultureInfo("nl-BE");
}
Run the application and change the culture between Dutch and English, you will see that the value is reset instead keep it.
Workaround:
CultureInfo providerDutch = new CultureInfo("nl-BE");
CultureInfo providerEnglish = new CultureInfo("en-US");
public Form1()
{
InitializeComponent();
this.Text = Telerik.WinControls.VersionNumber.Number;
this.radMaskedEditBox1.Culture = providerDutch;
this.radMaskedEditBox1.MaskType = Telerik.WinControls.UI.MaskType.Numeric;
this.radMaskedEditBox1.Mask = "C";
this.radMaskedEditBox1.Value = 570.00;
}
private void radButton1_Click(object sender, EventArgs e)
{
double tempValue = double.Parse(this.radMaskedEditBox1.Value.ToString(), NumberStyles.Currency | NumberStyles.AllowThousands | NumberStyles.AllowDecimalPoint, providerEnglish);
this.radMaskedEditBox1.Culture = new System.Globalization.CultureInfo("nl-BE");
this.radMaskedEditBox1.Value = tempValue;
}
private void radButton2_Click(object sender, EventArgs e)
{
double tempValue = double.Parse(this.radMaskedEditBox1.Value.ToString(), NumberStyles.Currency | NumberStyles.AllowThousands | NumberStyles.AllowDecimalPoint, providerDutch);
this.radMaskedEditBox1.Culture = new System.Globalization.CultureInfo("en-US");
this.radMaskedEditBox1.Value = tempValue;
}