2011-07-27 66 views
1

我想是这样的01或02或03,但不是00在我的文本框,即两个允许文本框中的数字不应该是0文本框的文本格式

同样清楚,我不想第一个0接下来是文本框中的第二个0。 那么有没有人有想法?

+0

可你只是做一个简单的正则表达式? – KMC

+1

所以你可以编写一个正则表达式,然后你需要为文本框创建一组验证事件。或者你可以捕获文本条目来阻止它。或者如果你可以写一个好的面具,那么你可以使用MaskedTextBox来使你的UI很好地工作。 – Spence

回答

1

如果你的文本框的值的内容是整数,原因目前还不清楚形成你quesiton,可以使用这样的事情:

public string GetFormattedString(int iValue) { 
    if(iValue!=0) 
     return iValue.ToString("00"); 

    return string.Empty; 
} 

这将返回“01”,例如,和0回报“ ”。

如果不好,请更好地解释你实际需要的东西。

问候。

1

你可能想尝试MaskedTextBox中的好?

+0

雅我想使用maskedtextbox来显示这样的2068/12/23这是一个尼泊尔的日期,但我再次希望能够在'/'之前增加数字,在按下箭头键时按下并在按下箭头键时减少下。 –

+0

你可能想看看一些自定义控件,就像telerik窗体的窗体可能有一个你想要的框。这就是说,不应该提供一个“DateTimePicker”控件工作提供用户在尼泊尔文化? – Spence

+0

亲爱的斯宾塞,我真的很遗憾地说,我没有得到你的观点,所以你可以详细解释一下。 –

1

不知道你的意思是否如此。但是你可以使用TextChanged事件。

private void textBox1_TextChanged(object sender, EventArgs e) 
    { 
    if (textBox1.Text == "00") 
    { 
     textBox1.Text = ""; 
    } 
    } 

如果文本框中的文本已更改,您可以检查文本是否为“00”。 然后你可以处理它,在我的例子中,文本框又是空的。

希望我能理解你并能帮助你。

0

如果您想验证从TextBox控件中输入文本,您可以使用正则表达式 在你的情况会是这样

 string strRegex = @"^\d[1-9]$"; 
     Regex myRegex = new Regex(strRegex); 
     string strTargetString = @"03"; // put here value from text box 
     if (myRegex.IsMatch(strTargetString)) 
     { 
      MessageBox.Show("Correct"); 
     } 
     else 
     { 
      MessageBox.Show("Incorrect input"); 
     }