怎样定义非自动生成的form

zhourongbiao 2005-03-08 09:33:24
每一个VB form都是自动生成的吧,比如我使用
VBForm1.Show
就可以显示它。能不能像Delphi那样定义非自动生成的form,等到要用时生成并显示?
...全文
92 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
SonicOne 2005-03-09
  • 打赏
  • 举报
回复
无独有偶,VB有个缺陷:VB能用New 关键字动态加载ActiveX控件和用户类,但不能通过New 动态加载VB内部类,但可以用Control集合的Add操作。呵呵
viena 2005-03-09
  • 打赏
  • 举报
回复
//那么form1到底是类还是对象?
//同时我不希望VB自动生成form1对象
晕哦,form1是类,但你如果直接调用form1就自动实例化位对象了
不希望自动生成form1对象,就不要直接使用form1,没有人强迫你用啊~
shangfc 2005-03-09
  • 打赏
  • 举报
回复
Form1是类的名称,同时VB会自动在后台生成一个名为Form1的同名窗体,当你调用Form1的方法或属性时,它会自动加载进来。所以说这个默认窗体是不能删除的,但只要在代码中不使用它,那么它也不会加载进内存。
SonicOne 2005-03-09
  • 打赏
  • 举报
回复
因为VB默认的启动对象是form1,如你有需要也可以设成普通的模块文件,也就是"sub main"函数,然后你在sub main 调用New form1就可以。
类的解释:
Private Sub Form_Load()

Dim class1 As class1
Set class1 = New class1
class1.aa

End Sub

Class1:
Public Sub aa()
MsgBox 1
End Sub

form1是对象名
是form1的一个实例。也就是说form1和form1这个类的名字一样。呵呵
zhourongbiao 2005-03-08
  • 打赏
  • 举报
回复
可能我没有说清楚,我指的是比如我设计了窗体form1,可以 set aa = new form1
可是也可以 form1.show
那么form1到底是类还是对象?
同时我不希望VB自动生成form1对象
SonicOne 2005-03-08
  • 打赏
  • 举报
回复
其实form就是一个类。也就是说定义的form1,form2……等其实就是一个类,只是form1,form2是系统帮你自动生成的form1类的实例。
随时随地,你只要用
Dim objFrm as form1 '引用
Set objFrm =New form1 '实例化就可以了

objFrm.Show

还有什么不懂,QQ:52069616联系我吧:)
dongge2000 2005-03-08
  • 打赏
  • 举报
回复
Private Sub Command1_Click()
Dim i As Form
Set i = New Form1
i.Show
End Sub
-----------------
我只知道这样可以生成一个现有的窗体。

7,763

社区成员

发帖
与我相关
我的任务
社区描述
VB 基础类
社区管理员
  • VB基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧