none
MaskedTextBox的Mask属性掩码的问题? RRS feed

  • 问题

  • 要求MaskedTextBox只能输入1-25之间的数,正则式为^([1-9]|([1-9]\d)|25)$,可我不知道Mask里的掩码该怎么写........

    请各位赐教!

    2010年11月4日 1:34

答案

  • Dear
    Mask应该只能过滤字串,至于内容里的值是否正确,是需要自己写判断的。
    1.Mask属性设为00
    2.然后在leave事件写

    if (Convert.ToInt32(maskedTextBox1.Text) < 0 || Convert.ToInt32(maskedTextBox1.Text) > 25)
    {
    MessageBox.Show("ERROR");
    maskedTextBox1.Text = "";
    } 
    

    以下连结是验证IP位置是否正确的范例,跟你的需求很类似,您可以参考他的思路

    http://www.dotblogs.com.tw/limingstudio/archive/2009/11/13/11723.aspx

     


    秘訣無它,唯勤而已
    2010年11月4日 2:58
  • dear
    maskedTextBox1.Text = ""
    这行拿掉就好了啊

    你可使用this.maskedTextBox1.Focus();
    让焦点停在那个maskedTextBox1上
    秘訣無它,唯勤而已
    2010年11月4日 3:57

全部回复

  • Dear
    Mask应该只能过滤字串,至于内容里的值是否正确,是需要自己写判断的。
    1.Mask属性设为00
    2.然后在leave事件写

    if (Convert.ToInt32(maskedTextBox1.Text) < 0 || Convert.ToInt32(maskedTextBox1.Text) > 25)
    {
    MessageBox.Show("ERROR");
    maskedTextBox1.Text = "";
    } 
    

    以下连结是验证IP位置是否正确的范例,跟你的需求很类似,您可以参考他的思路

    http://www.dotblogs.com.tw/limingstudio/archive/2009/11/13/11723.aspx

     


    秘訣無它,唯勤而已
    2010年11月4日 2:58
  • 谢谢!

    如果输入的内容错误,想显示原来文本框的内容(而不是maskedTextBox1.Text = "")应该怎么办啊?

    2010年11月4日 3:33
  • dear
    maskedTextBox1.Text = ""
    这行拿掉就好了啊

    你可使用this.maskedTextBox1.Focus();
    让焦点停在那个maskedTextBox1上
    秘訣無它,唯勤而已
    2010年11月4日 3:57