您的位置:程序门 -> vb -> 基础类



vb6.0对象变量声明为command1时出错


[收藏此页] [打印本页]选择字色:背景色:字体:[][][]


vb6.0对象变量声明为command1时出错[已结贴,结贴人:aiyou18]
发表于:2007-04-05 09:31:23 楼主
vb实用教程上提到,可以定义对象变量,举例如下:
dim   formvariable   as   form1
dim   buttonvariable   as   command1
dim   textvariable   as   textbox

我把以上三条语句输入vb,运行后:
第一、三条语句没有出错,第二条语句报错:编译错误,用户定义类型未定义。
http://www.moon-soft.com/program/bbs/readelite5824.htm     此帖子说,可以用控件名作为对象变量的类型
1.我不明白form1和command1有什么本质区别吗?不都是一个控件的名称吗?为什么form1就不报错?

2.教材上说:“对象类型包括:对象名称(name属性),控件集合(control,textbox),窗体集合,屏幕对象等。“我不理解的是   对象名称   怎么能作为   对象类型。因为对象变量是:把一个变量声明成一种对象类型,然后对这个变量操作就是对所有这类对象操作。所以我可以理解dim   textvariable   as   textbox;因为textbox是代表一种对象的类型。而dim   buttonvariable   as   command1,我就没法理解。command1是具体到的某一个对象,而不是某一类对象。我如果执行“buttonvarible.caption=按钮”这条语句,到底是哪些控件的caption属性变成了“按钮”两字?是所有的commandbutton类型的控件的caption属性都改成了 "   按钮 "   吗?

3.如果要把第二条语句修改正确,如何更改?
发表于:2007-04-05 09:39:591楼 得分:0
1/2条语句,你在工程中必须有一个form1,在窗体里必须有一个command1控件
3条是一个类名,当然不会有错。
发表于:2007-04-05 10:48:442楼 得分:0
在你的窗体上没有command1按钮时报错
发表于:2007-04-11 08:08:173楼 得分:0
to   理论派和hjker0070       我的窗体上有名为command1的按钮       你可以自己试验一下,就会报错
发表于:2007-04-11 09:08:124楼 得分:5
声明对象变量的as后,只能是类名而不能是类的实例,vb中的form很特殊,每个窗体都是一个私有类,这也是容易让初学者混淆的地方。
commandbutton才是类名,command1只是其一个实例,不能用于声明。
发表于:2007-04-11 09:17:115楼 得分:0
对于控件,它的类可以从属性窗体上看到。
发表于:2007-04-11 09:33:586楼 得分:5
1、按照面向对象的方法可以这么理解。
        form跟form1都是类,相当于form1继承了form,所以第一条语句正确。
        command1是由commandbutton类实例化的一个对象而不是类,所以第二条语句错误。
        textbox也是类,所以第三条语句正确。

        如果对vb中的类不少很了解,可以察看对象浏览器。

2、你看得教材因该是比较糟糕的,建议读msdn文档。

3、dim   buttonvariable   as   commandbutton
发表于:2007-04-23 11:16:147楼 得分:0
to   homezj(小吉),to     阿花       谢谢,我明白了!
发表于:2007-04-23 12:33:158楼 得分:0
学习了


快速检索

最新资讯
热门点击