有两种主要的在窗体间传递数据的方式:直接从窗体到窗体传递数据(这意味着这两个窗体应同时都被装载在内存中);或者先将一个窗体中的数据存储在某个地方,然后再从另一个窗体中调用这些数据。
可以或者是从“源数据”窗体或者是从“目标”窗体中传递数据,但必须在“源数据”窗体被卸载前进行。注意,当您指定另一个窗体中的控件时,必须加上该窗体的名字,例如:
--------------------------------------------------------------------------------
txtName.Value = frmTheOtherForm.txtName.Value
--------------------------------------------------------------------------------
直接从窗体到窗体传递数据会触发另一窗体的初始化事件(除非该窗体可见),因为您在引用该窗体中的控件的属性。如果该初始化事件过程包含有显示窗体的代码,或者调用其它的子过程,这将触发一系列的代码,导致难于调试,因此,建议仅对相当简单的窗体使用这种方式。
相比较而言,将数据存储在变量中会更灵活和便于控制。数据能被存储在公共变量中、单元格中(当关闭文件时能被保存)、或工作表命名区域中。