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 呢
------解决方案--------------------
正解!
------解决方案--------------------