你这个问题在过去我做自学考试系统时也曾经遇到过,比如要输入考生的邮政编码,可以从下拉列表框中选择输入,但是有时考生的邮政编码在下拉列表框中并没有,那怎么办呢?我在张洪举老师的《Visual FoxPro 程序设计参考手册》中找到了解决的办法。
如果希望在组合框中输入的在下拉列表选项中不存在的值能够能够保存到ControlSource属性指定的字段中,可以在组合框的LostFource事件中写入下面代码的赋值语句,用于在组合框失去焦点时将DisplayVaue中的值赋给Value属性。
Tihs.Value=This.DisplayValue
并且在组合框下拉列表中不存在的值,也不能显示在组合框中。为解决这个问题,可以在组合框的GotFocue事件中写入下面的赋值语句,在组合框中获得焦点时将Value属性的字段值赋给DisplayVaue属性。
This.DisplayVaue=This.value
经过以上的设置,可以部分弥补Value与DisplayVaue属性值不同造成的麻烦。但是,当组合框失去焦点后,组合框仍旧不能显示其下拉列表中不存在的值。