要求:用C#语言在WinForm中实现对文本框中输入的年月进行验证。
需求:
    1、当输入201011格式的年月时,能自动转换为2010-11格式
    2、当输入2010-11时不用转换格式。
    3、当输入20103时,转换为2010-3格式。
    4、当输入2010、2010-、2010--、2010---、2010--6、2010-9-时,默认月份为1月,转换为2010-1。
    5、文本框内只能输入数字或“-”,“-”只能在第5位。
    6、前4位年份范围为1950-2010。
    7、月份范围为1-12。知识点提示:
判断字符是否为数字的方法
bool char.IsDigit(char c)

解决方案 »

  1.   

    masktextbox
    DateTime.TryParse
    考虑闰年
    ^(?:(?:(?:(?:(?:1[6-9]|[2-9][0-9])?(?:0[48]|[2468][048]|[13579][26])|(?:(?:16|[2468][048]|[3579][26])00)))(?:0229))|(?:(?:(?:1[6-9]|[2-9][0-9])?[0-9]{2})(?:(?:(?:0[13578]|1[02])31)|(?:(?:0[13-9]|1[0-2])(?:29|30))|(?:(?:0[1-9])|1[0-2])(?:0[1-9]|1[0-9]|2[0-8]))))$
    http://topic.csdn.net/u/20090720/08/deed1769-263e-4b47-8275-9e0931d124c4.html
      

  2.   

    http://www.cnblogs.com/ATGO/archive/2010/05/23/1742099.html
      

  3.   

    我是初学的,2楼的链接过去以后,那些代码应写在什么地方啊?TextBox是类名还是控件名?form2里面是哪两个控件啊,和我的日历控件不一样啊