老示例,程序设计中有时需要调用模式窗体的值,比如自定义选择日期对话框,一般都要借助 一个全局公共变量 来传递值。
这里提供一种思路,只用一句代码实现打开模式窗体,并返回在模式窗体上选择的值,并关闭模式窗体,这个方法不需要全局变量和公共过程。
可以实现类似 Msgbox 和 InputBox 的效果,如:Me.Text0=InputBox()。
关键方法有两点:
1、在模式窗体创建一个Property Get 或Public Function 过程,此过程中建立循环过程,判断窗体上的某个值是否改变,符合条件即退出过程关闭窗体。
2、不使用OpenForm打开模式窗体,而直接调用模式窗体的上述过程,如:Me.Text0=Form_frmInputBox.Value。
附件中有3个示例,自定义Msgbox、自定义InputBox和日期选择对话框,和大家交流一下。
点击下载此附件