VFP 经典问题集问题 1: 怎样从表单返加一个值?答案 1: 可以在模式表单的 unload 事件中用 return 来返回一个值。 问题 2: 怎样在表单设计器中把属性或方法添加到表单中?答案 2: 用表单设计器窗口或属性/事件/激活的方法窗口,从菜单中选择表单。最初的两个选择是新属性和新方法。选择你想要加入的一个并填写属性或方法的名称,新建的属性将出现在属性窗口的最底部。问题 3: 我把的工具条或设计窗口移出了屏幕,怎样把它移回来?答案 3: 工具条或窗口的位置保存在 vfp 主目录下的 foxuser.dbf 表中。如果删除或修改该文件,你的工具条和窗口将恢复他们的默认位置或你指定的位置。或从系统菜单的窗口菜单中选择重新安排全部。问题 4: 当从 valid 事件返回.f.值时,如何避免'无效的的用户输入了'信息?答案 4: 用 0 来替换.f.当你从 valid 事件返回数值时,也就是在设置可取得焦点的控件的 tab order。问题 5: 模式表单和非模式表单的区别是什么?答案 5: 模式表单一般地被用来处理错误报告,或者请求用户确认操作等。在模式表单中,菜单不能使用。如果需要,模式表单也提供应用'等待状态'。非模式表单提供更多的灵活性,它允许用户通过菜单操作,在表单中移动。问题 6: 为什么编译后的程序运行时,屏幕一闪就退出了,为什么?答案 6: 你需要在你的程序中建立'等待状态'。可以用 read events 命令来建立等待状态。要清除等待状态,可使用 clear events 命令。如果你只有一个屏幕,把表单的 windowstate 属性设置为 modal。这也提供等待状态,但是不允许你使用菜单。当模式表单被释放时,等待状态结束并返回至操作系统。问题 7: 为什么当我建立表单时,我用 set 命令设置的环境变量返回到了它们的默认值。答案 7: 这是由于你的表单的数据会话期设置为私有数据工作期。很多"set"命令仅对当前数据工作期有效。当你拥有私有数据工作期时,你必须再次确立那些设置值。要达到这一目的,你可以建立一个用于环境设置的类。在表单的 init 事件中设置你的环境值而在表单的 destroy 事件中恢复其原始值。问题 8: 我在 pageframe 中的一个页中改变了记录指针,但我转到其他的页时,其他的页中的数据仍然是原记录的值。为什么?答案 8: 你需要在你的每一页 activate()中放置代码来确信显示当前记录值。如果你在某处执行了thisform.refresh()命令,vfp 仅刷新 pageframe 的当前页面上的内容...