c#中的文本框文本格式

本文关键字:文本 格式 | 更新日期: 2023-09-27 18:03:32

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

很明显,我不希望文本框中的第一个0后跟第二个0。有人知道吗?

c#中的文本框文本格式

在您的格式字符串中(当您调用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");
        }