6.日期问题
为了使程序更加完善,用户使用更加方便,在有关日期的设计上,我们更建议使用控件,方便用户对日期进行自由选择。针对这一问题,VB中有两个常用的日期控件,分别是DateTimePicker和MonthView 。下面以DateTimePicker为例,介绍我在学生信息管理系统中日期控件的应用。
(一)引用相关控件
工程——部件——控件——Microsoft Windows Common Control-2 6.0(SP6)
工具箱——DTPicker
(二)程序加载时,日期控件内容为空
添加完控件后程序的运行结果:
很明显,当程序运行时,系统自动将日期默认为当前日期,而当前控件的初始值不可设为空。由于现在的应用程序很多时候也是在系统运行时,将可设时间默认为当前时间,所以这不算是问题。但我总希望程序运行时所有可填写的信息均为空,所以我对程序做了些小的调整。
大概思路是在日期控件上添加一个textBox控件,将textBox控件设置为“置前”,使得当单击下拉选项时,日期控件内容直接赋值给textBox(textBox初始值为空很容易解决)。
(三)入学日期与出生日期的比较
程序不出现大的漏洞很容易解决,但这样的程度远远不够。这时我们就该考虑怎样优化程序,才能尽可能的让用户使用更加便利,这时就要考验我们思考问题的全面性。
入学日期必须在出生日期之后很容易理解,但我们还应该考虑到如何设计代码才能达到“说更少的话,办更多的事”的效果?下面是一个例子(不是最好,可做参考)
If DTPicker2.Value < DTPicker1.Value Then MsgBox "出生日期晚于入学日期,请重新填写",vbOKOnly,"温馨提示 " txtRudate.Text = "" txtBorndate.Text = "" txtBorndate.SetFocus Exit Sub End If