问题描述
我在MaskedTextBox中mask设置为0000×0000,此编辑框用户可修改,TextMaskFormat是设置为IncludeLiterals,用"*"作为文本框两个参数的分隔符在文本框changed事件触发后,有如下代码:DimstrArr()AsStringstrArr=Split(Txt_KMCC.Text,"*")‘Txt_KMCC.Text为MaskedTextBox的nameTryTxt_KMKD.Text=strArr(0)’Txt_KMKD.Text,Txt_KMGD.Text为Txt_KMCC.Text以*分割后的参数Txt_KMGD.Text=strArr(1)Txt_KMCC.Text=Txt_KMKD.Text&Space(4-Txt_KMKD.Text.Length)&Txt_KMGD.Text&Space(4-Txt_KMGD.Text.Length)CatchexAsExceptionMsgBox("Txt_KMCC分隔参数有误")EndTry如果文本框是1000*2000,我修改为1100*1200,这个就没问题,但是如果我修改为900*2000,这时文本显示就变为9002*000,后边的2跳到*号前面了,上面代码最后一步我设置了如果Txt_KMKD.Text这个参数长度不为4,就用空格补充,但是没起作用哦……想问下对于这种用户可编辑的复合参数,在用户修改时怎样可以让两个参数固定,如上修改为900*2000,在修改过程中如果修改前面的参数,后边的2000固定在*后不要动……请指教,谢谢……
解决方案
解决方案二:
不建议使用一个文本框输入2个数据另外,MaskedTextBox的用法不是怎么做的,他是用来限定格式的,比如:身份证号码另外,关于那个格式0000×0000这个,你最好看看应该设成0999×0999这样1×1的表达式也能成立