Winforms windows窗体应用程序中的maskedTextBox

Winforms windows窗体应用程序中的maskedTextBox,winforms,mask,maskedtextbox,Winforms,Mask,Maskedtextbox,在windows窗体应用程序中,C#使用Visual Studio 2012 P>我的面具是0,但当我进入3时,它只考虑了3,而不是3。 并且当输入3.30时,考虑3.3 但如果我输入3.01,则会考虑该值 问题是我希望它也考虑最后一个零。 在窗体设计器代码中: this.maskedTextBox1.Location = new System.Drawing.Point(402, 121); this.maskedTextBox1.Mask = "0.00"; this.maskedTextB

在windows窗体应用程序中,C#使用Visual Studio 2012

P>我的面具是0,但当我进入3时,它只考虑了3,而不是3。 并且当输入3.30时,考虑3.3 但如果我输入3.01,则会考虑该值

问题是我希望它也考虑最后一个零。

在窗体设计器代码中:

this.maskedTextBox1.Location = new System.Drawing.Point(402, 121);
this.maskedTextBox1.Mask = "0.00";
this.maskedTextBox1.Name = "maskedTextBox1";
this.maskedTextBox1.PromptChar = '-';
this.maskedTextBox1.Size = new System.Drawing.Size(31, 22);
this.maskedTextBox1.TabIndex = 23;
this.maskedTextBox1.ValidatingType = typeof(System.DateTime);
this.maskedTextBox1.MaskInputRejected += new 

System.Windows.Forms.MaskInputRejectedEventHandler(this.maskedTextBox1_MaskInputRejected);

Mask属性适用于Maskedit中显示的格式以及可以键入的字符。它不会自动为您设置文本格式

如果要以所需的格式显示字符串,则需要将用户键入的文本转换为有效的小数,然后使用准备一个字符串,该字符串将按需要显示双精度

double d = Convert.ToDouble(maskedTextBox1.Text)
Console.WriteLine(string.Format("{0:N2}", d));

maskedTextBox1\u MaskInputRejected
maskedTextBox1\u MaskInputRejected为空时显示代码。。因为0默认情况下只允许0到9位数字作为Microsoft的Web地址,所以您可以解释为什么使用DateTime而不是十进制(或双精度…)@steve实际上我想验证双精度…,因为用户在此字段中输入他们的gpa/标记。。包括小数点,如3.44、3.00等,但仅限于0-9位。这是正确的,但不适用于我在查询中提到的特殊情况。