我是一名编程爱好者,最近在自学c#winform编程,但是是学习过程遇到了一个问题,问题如下。
我现在有一个需求,需要用户通过文本框输入一个内容, 参与后续的计算,我需要用户输入一个日期,格式为比如198601、199912等类似的格式,但是由于文本框里可以输入任意字符,用户在输入时有可能输入错误,如何在文本框中限制用户的输入,
需求,
1、只能允许用户输入上述格式;
2、如果用户不小心输入错误,第五位输入了大于等于2的其他数字,则自动变更为0;同理,第六位如果输入了大于等于3的数字,则自动变更为1;
3、如果用户输入错误,允许用户删除修改;
谢谢大家
这个可以在 TextChanged事件里判断,如果用户输入的不是正确的格式就修改Text属性
另外也可以直接用 MaskedTextBox 或者 日历选择控件
几种思路
1.使用第三方控件,带验证功能的,你可以设置允许输入的格式,这样非法数据根本输入不进去
MaskedTextBox 就是一种带格式验证的控件,但是它只能验证格式不能验证值大小
2.自己写脚本,比如可以在按钮点击提交的时候判断,也可以在TextChanged事件或者keydown事件里判断
具体判断可以自己写int.tryparse判断或者写正则表达式
可以弹messagebox、弹tooltip、在旁边用label提示,也可以直接将内容替换成合法内容