我真的在这里为某些事情苦苦挣扎。我有一个类模块,我们称之为 FormMan,它有一堆与我项目中的大量用户表单相关的方法。一种特殊的方法可以从很多不同的地方调用,而且非常简单——它只是将用户定义的控件数量添加到表单并扩展表单高度以适应这些新控件。
用户传递控件的数量和用户窗体。
oF.AddControlsToForm iNumberOfControls,frmTest
在 FormMan 类模块中:
Public Sub Addcontrols(iNum as integer, oForm as userform)
//stuff happens here, oForm is used extensively
oForm.Height = i //object does not support this property or method
frmTest.Height = i //works
oForm.Show //object does not...
frmTest.show //works
end sub
在 Locals 窗口中,oForm 没有高度属性,所以很公平。但 oForm 已被定义为 frmTest。我可以说oForm.BackColor = vbred
,我可以设置ctl = oform.TextBox1
例如
这是一个通用过程,可以将一堆控件添加到任何形式。在将表单分配给 oForm 之前,我已经尝试加载并显示表单。
为什么用户窗体的高度和显示属性和方法,而不是声明为用户窗体的对象?我究竟做错了什么?
非常感谢任何帮助。