我真的在这里挣扎着。我有一个类模块,我们称之为FormMan,它有一大堆与我的项目中拥有的大量用户表单相关的方法。一种特殊的方法是从很多不同的地方调用,并且非常简单 - 它只是将一个用户定义的控件数添加到表单中,并且扩展表单高度以适应这些新控件。VBA UserForm对象
用户传递控件的数量和用户窗体。
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
在本地窗口,oForm没有高度属性,因此很公平。但oForm已被定义为frmTest。我可以说oForm.BackColor = vbred
,我可以设置ctl = oform.TextBox1
例如
这意味着一个通用的过程,可以添加一堆控件到任何形式。我已经尝试加载并显示表单,然后将其分配给oForm。
为什么高度和显示用户窗体的属性和方法而不是声明为用户窗体的对象的方法?我究竟做错了什么?
真的很感谢任何帮助。
我在开始这个项目之前做了很好的调整。谢谢你的帮助。 – user51498 2009-02-12 21:28:03