问题描述
大家在编程时,特别是一些人机界面比较多的程序,应该都有对用户的输入进行检查的吧。比如看用户输入的字符字数对不对,大小写对不对之类的。象这样的程序,输入框少的时候,可以一个个进行类似下面的检查应该就可以。iftextbox1.textlength>10thenmsgbox("字数太多")textbox1.focus()endif象这样的判断语句一个个写。但如果界面上,输入框非常多的时候,写这些判断就得花不少时间,而且不同的输入框,有时候判断的种类跟方式基本上都一样。象这种情况,有没有比较有效率的编程方式?希望大家都能畅所欲言,多多指导。谢谢。分就不多给了,因为可能会出现好多好意见的,无法平均分,望包涵。
解决方案
解决方案二:
PrivateSubtxtEQP_QUANTITY_KeyPress(ByValsenderAsSystem.Object,ByValeAsSystem.Windows.Forms.KeyPressEventArgs)Handles_txtEQP_UNIT_PRICE.KeyPress,txtEQP_UNIT_PRICE.KeyPressIfNotIsNumeric(e.KeyChar)AndAsc(e.KeyChar)<>Keys.BackAnde.KeyChar<>"."Thene.Handled=TrueEndIfEndSub类似上面这个方法体,把多个需要执行相同方法的控件的事件放在一个控件的事件后面,给这些方法的事件赋予类似txtEQP_QUANTITY_KeyPress的值,那么这些控件都将执行这一方法或事件。
解决方案三:
foreachCtascontrolinme.controlsiftypeof(Ct)istextboxthenifCtype(Ct,TextBox).TextLength>10thenMsgBox(Ct.Name&"字数太多")Ct.Focusexitforendifendif