C#   winform
  private void txtMonth_TextChanged(object sender, EventArgs e)
       {
           if (!System.Text.RegularExpressions.Regex.IsMatch(txtMonth.Text, @"^\d*$"))
           {
               txtMonth.Undo();
           }
         
           if (Regex.IsMatch(txtMonth.Text.Trim(), @"^([1-9]|1[0-2])$"))
           {
               txtMonth.Text = txtMonth.Text;
           }
           else
           {
              txtMonth.Undo();
           }
这个程序实现的是输入数字1-12之间的数据,但是假如我输入14或者别的二位数字在else语句处就会报异常说是栈溢出了。请给位帮帮忙啊
              
                  c#
                  winform
              
------解决方案--------------------Undo会调用txtMonth_TextChanged 死循环了。
------解决方案--------------------用textBox1.Text = "";   清空TextBox吧,可以MessageBox一个信息。
------解决方案--------------------else 直接把txtmonth 清空看看,
看代码应该是限制输入月份的,
为什么不用 combox 呢
------解决方案--------------------
正解!
------解决方案--------------------