2012-08-10 49 views
0

我试图显示在MaskedTextBox中的百分比字符串在其“40.99”中传递,但是当它显示在窗体上时它是“409.9%”。maskedTextBox中的百分比显示不正确

填充值

if (_person.Percentage != null) 
    maskedTextBoxPercentage.Text = _person.Percentage.ToString(); 
else 
{ 
    maskedTextBoxPercentage.Text = 0.00.ToString(); 
} 

maskedTextBoxPercentage性能

this.maskedTextBoxPercentage.Location = new System.Drawing.Point(437, 125); 
this.maskedTextBoxPercentage.Mask = "000.00%"; 
this.maskedTextBoxPercentage.Name = "maskedTextBoxPercentage"; 
this.maskedTextBoxPercentage.Size = new System.Drawing.Size(129, 20); 
this.maskedTextBoxPercentage.TabIndex = 65; 

enter image description here

+0

你想确切地表明什么呢? – aliboy38 2012-08-10 20:21:59

+0

@ aliboy38现在我正确使用“00.00%”作为面具正确显示,但它不会让我输入“100%” – 2012-08-10 20:23:42

+0

只是告诉我它是否给你一个错误 – aliboy38 2012-08-10 20:27:06

回答

1

如果你希望它显示 “40.99%”,改变你的面具为 “00.00%”

+0

我试过了。尝试使用“000.00%”,因为它可以是100%,但现在它显示“409.9_%” – 2012-08-10 20:18:24

1

试试这个:

try 
      { 
       this.maskedTextBoxPercentage.Mask = "00.00%"; 

      } 
      catch (Exception) 
      { 
       this.maskedTextBoxPercentage.Mask = "000%"; 
      } 

或者你可以试试这个太:

try 
     { 
      this.maskedTextBoxPercentage.Mask = "00.00%"; 

     } 
     catch (Exception) 
     { 
      this.maskedTextBoxPercentage.Text = "100%"; 
     } 
+0

这将用于OnTextChanged? – 2012-08-10 20:34:37

+0

在你已经写了这些代码的相同位置 – aliboy38 2012-08-10 20:39:23

+0

我从来没有见过在InitializeComponent()中使用的try/catch – 2012-08-10 20:46:42