请参阅下面的屏幕截图,了解MaskedTextBox:
以及以下代码:
public Form1()
{
InitializeComponent();
this.Load += Form1_Load;
}
private void Form1_Load(object sender, EventArgs e)
{
maskedTextBox1.ValidatingType = typeof(System.Decimal);
maskedTextBox1.TypeValidationCompleted += new TypeValidationEventHandler(maskedTextBox1_TypeValidationCompleted);
}
void maskedTextBox1_TypeValidationCompleted(object sender, TypeValidationEventArgs e)
{
if (!e.IsValidInput)
{
MessageBox.Show("Validation failed");
}
else
{
Decimal value = (Decimal)e.ReturnValue;
MessageBox.Show("Validation suceeded");
}
}
}
e.IsValidInput在我输入小于1000的值时始终为false。如果我输入的值大于1,000,那么它可以正常工作,即转换为小数。我相信这是因为缺少逗号,值小于1,000。如何使逗号可选?