更新:編輯我的問題,爲了更好的理解我希望如何限制或Windows應用程序過濾器面膜文本框中輸入
設置我Mask TextBox
屬性shortdate MM/DD/YYYY
或00/00/0000
,但它可以接受每月超過12日期超過31歲。我怎樣才能將月份過濾到12,日期只有31?
更新:編輯我的問題,爲了更好的理解我希望如何限制或Windows應用程序過濾器面膜文本框中輸入
設置我Mask TextBox
屬性shortdate MM/DD/YYYY
或00/00/0000
,但它可以接受每月超過12日期超過31歲。我怎樣才能將月份過濾到12,日期只有31?
^([012]\d|30|31)/(0\d|10|11|12)/\d{4}$
在覆蓋控件中使用上面的正則表達式。
你可以指定如何做到這一點?我應該把它放在哪裏? – NatsuDragneel 2014-09-24 07:33:12
在文本框的屬性窗口中,會出現蒙板文本框的正則表達式屬性。把它放在那裏。 – 2014-09-24 07:35:49
我無法在「遮罩文本框」屬性中找到它。 – NatsuDragneel 2014-09-24 07:38:33
嘗試瞭解決這個問題的方法,所以在這裏。我的是輸入用戶的出生一個月不能超過12年以上必須小於今天的年(還沒有解決如何接受目前的一年。
private void Form1_Load(object sender, EventArgs e)
{
maskedTextBox1.Mask = "00/00/0000";
maskedTextBox1.ValidatingType = typeof(System.DateTime);
maskedTextBox1.TypeValidationCompleted += new TypeValidationEventHandler(maskedTextBox1_TypeValidationCompleted);
}
void maskedTextBox1_TypeValidationCompleted(object sender, TypeValidationEventArgs e)
{
if (!e.IsValidInput)
{
MessageBox.Show("The data you supplied must be a valid date in the format mm/dd/yyyy.");
}
else
{
DateTime userDate = (DateTime)e.ReturnValue;
if (userDate >= DateTime.Now)
{
MessageBox.Show("The date in this field must be less or equal than today's date.");
e.Cancel = true;
}
}
}
您可以在這個問題你的代碼? – Sam 2014-09-24 07:27:25
@Sam在屬性中沒有代碼 – NatsuDragneel 2014-09-24 07:33:39
@Sam掩碼文本框的屬性下面有'Mask' – NatsuDragneel 2014-09-24 07:36:40