我想在我的文本框中输入类似于01或02或03但不是00的内容,即文本框中允许的两个数字都不应为0.
再次清楚地,我不希望在文本框中第一个0后跟第二个0。 所以有人有想法吗?
答案 0 :(得分:6)
在您的格式字符串中(当您调用ToString时),您可以使用;
字符来定义“零”格式,如下所示:
myTextBox.Text = myNumber.ToString("00;;Something");
答案 1 :(得分:1)
如果你的文本框值的内容是整数,导致你的问题不清楚,可以使用这样的东西:
public string GetFormattedString(int iValue) {
if(iValue!=0)
return iValue.ToString("00");
return string.Empty;
}
例如,返回'01',0返回“”。
如果不好,请更好地解释您的实际需要。
问候。
答案 2 :(得分:1)
您可能也想尝试使用MaskedTextBox?
答案 3 :(得分:1)
不知道你的意思是这样的。但您可以使用TextChanged事件。
private void textBox1_TextChanged(object sender, EventArgs e)
{
if (textBox1.Text == "00")
{
textBox1.Text = "";
}
}
如果文本框中的文本发生更改,则可以检查文本是否为“00”。 然后你可以处理它,在我的例子中,Textbox再次为空。
希望我理解你并且可以帮助你。
答案 4 :(得分:0)
如果要验证文本框控件中的输入文本,可以使用Regex 在你的情况下,它将是这样的
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");
}