c#中的文本框文本格式
本文关键字:文本 格式 | 更新日期: 2023-09-27 18:03:32
我想要这样的01或02或03,但不是00在我的文本框中,即文本框中允许的两个数字不应该是0。
很明显,我不希望文本框中的第一个0后跟第二个0。有人知道吗?
在您的格式字符串中(当您调用ToString时),您可以使用;
字符来定义"零"格式,如下所示:
myTextBox.Text = myNumber.ToString("00;;Something");
MSDN自定义数字格式:分号分隔符
如果文本框的内容值是整数,因为问题不清楚,可以这样写:
public string GetFormattedString(int iValue) {
if(iValue!=0)
return iValue.ToString("00");
return string.Empty;
}
例如,返回'01',对于0返回"。
如果不行,请更好地解释你真正需要的是什么。
问候。
你可能想尝试一个MaskedTextBox ?
我不知道你是不是这个意思。但是你可以使用TextChanged事件
private void textBox1_TextChanged(object sender, EventArgs e)
{
if (textBox1.Text == "00")
{
textBox1.Text = "";
}
}
如果文本框中的文本发生了变化,您可以检查文本是否为"00"。然后你可以处理它,在我的例子中,文本框再次为空。
希望我对你的理解是正确的,可以帮助你。
如果您想要验证来自文本框控件的输入文本,您可以使用正则表达式在您的示例中,它将像这样
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");
}