你的位置:创意公社- ideaer >> 创意软件 >> 程序乐园 >> 详细内容 在线投稿

VB编程基础教程16–对象之间的关系

热度234票  浏览64次 【共0条评论】【我要评论 时间:2011年2月04日 16:03
创意公社- ideaer3O [&odVH2A

在同一窗体上放置两个命令按钮时,它们是两个具有不同 name 属性设置值(command1 和 command2)的分开的对象,但都分享同一个类— 命令按钮。创意公社- ideaerkO,N+FF]U
它们也共享这样一个特征,即它们在同一窗体上。在本章前面已看到,窗体上的控件也包含在窗体中。这就把控件放在一个层次上。要引用控件就必须先引用窗体,就如同打电话拨号一样,首先要拨国家/地区号码或区域号码,然后再拨具体的电话号码。创意公社- ideaer$A"t5J1iJW+c
这两个命令按钮也共享这样一个特征,即它们都是控件。所有控件都具有公共特性,使它们不同于窗体以及 visual basic 环境中的其它对象。以下章节中将说明 visual basic 如何用集合使相关的对象分组。创意公社- ideaeriw^~%I'F$l)i
对象的层次
+P._ Dt&G0对象层次提供了一种组织结构,它决定了对象间的相互关系以及访问它们的方法。在大多数情况下不必考虑 visual basic 对象的层次。但是:
4f#U+oQ;W3_S*l0在操作其它应用程序的对象时,应当熟悉那个应用程序的对象层次。关于定位对象层次的信息,请参阅“用部件编程”。
:x0lB g x8d*T~\0创意公社- ideaerl(V{kF
在使用数据访问对象时,应当熟悉数据访问对象层次。就象在 professional features 一书上的《数据访问对象指南》部分描述的那样,该书包括在 visual basic 的专业版和企业版中。 创意公社- ideaerDfij4@w
在 visual basic 中,一个对象包含其它对象的一般情况时有发生。 下面我们要详细讨论。
$o&p j&O V7~2S*B0使用对象集合
Z;o9bX` H7rC0集合对象有自己的属性和方法。对象集合中的对象作为集合的成员被引用。集合中的每个成员从 0 开始顺次编号;这就是成员的索引号。例如,控件集合包含已给定窗体上的所有控件 。如果对集合中的所有对象都必须执行相同操作,则可用集合简化代码。
oOr? S `[Y{1J\0
S&em.^Fp0例如,下列代码遍历控件集合,并在列表框中列出每个成员的名字。
7LZej8C$Ne4B8_ k0dim mycontrol as control创意公社- ideaer2JUE\:N.vp
for each mycontrol in form1.controls创意公社- ideaer q,[hh:RIq'BV
   ‘把每个控件的名字送到列表框。
,Q%L HqZ xH0   list1.additem mycontrol.name
\n$p3\ [0next mycontrol
EA{`/S;Y0应用集合成员的属性与方法
]?%Rrt$U`d0有两种通用方法可用来对集合对象成员寻址:
:v2f(j Q,i%t0指定成员的名称。以下两个表达式等价:
%Q{5`4V.d&X\0controls (“list1″)创意公社- ideaerq-M'Z-]8E
controls!list1创意公社- ideaer3ioR8\O&Y
利用成员的索引号:
x&v-`'JSZ I0controls (3)
NREJ r)t8H7p'J8h0一旦能够从整体上对全体成员寻址,而且还能够个别地对单个成员寻址,就可用下面随便一种方式应用属性和方法:创意公社- ideaer/ff2c.Nj/G
’将 listbox 控件的 top 属性设置为 200。创意公社- ideaer)a$ih7A#g3r"Dq.s
controls!list1.top = 200创意公社- ideaerg'e E^$Y~ B
-或者-
|h[InD7p.^#A{8p0dim mycontrol as control
(yc)}&v-@p0for each mycontrol in form1.controls ()创意公社- ideaer1h?c`+c#{B!\
   ‘将每一个成员的 top 属性设置为 200。
.|2R%wmWx7X |.M*Y0   mycontrol.top = 200
!AvVT.|z_0next mycontrol创意公社- ideaer*dK!\.s*]1jl^
包含其它对象的对象创意公社- ideaer+~0{:pTV
在 visual basic 中,一些对象包含其它对象。例如,窗体通常包含一个或数个控件。把一个对象当作其它对象的容器,这样做的好处在于,在代码中引用容器即可明了要使用哪个对象。例如,在一个应用程序中可有两个不同的窗体,一个用来输入应付帐交易,另一个用来输入应收帐交易。
Z*]Fzz1Mb0创意公社- ideaerc)F3^:m%l
两个窗口可以有名为 istacctno 的列表框。通过引用包含列表框的窗体就可准确指定要使用的列表框:创意公社- ideaer$Er)o_v6c
frmreceivable.lstacctno.additem 1201
!Fb${tgS"Z.bZ$P0-或者-
}OK mh}2o0frmpayable.lstacctno.additem 1201
i4h{~h.pJ&pym0visual basic 中的公共集合创意公社- ideaerf~ g"zM s:g
在 visual basic 中一个对象包含其它对象的一般情况时有发生。下表简要叙述 visual basic 中最常用的集合。
E?V{/A1[p0集合 描述
'R d R+KAA i0forms 包含载入的窗体。
Y+hE {F0controls 包含窗体上的控件。 创意公社- ideaer^X'Fs_1}v;od
printers 包含可用的打印机对象。
q;y8Ku{ P;`)@0
!m x9O6Si#P3U~)me0在 visual basic 中也可实现对象控制。创意公社- ideaert(m0y gL3a/L
详细信息 关于对象容器的详细信息,请参阅“再论编程”中的“使用集合替代数组”。关于打印机集合的信息,参阅“使用文本和图形”。关于窗体集合和控件集合的详细信息,请参阅语言参考。创意公社- ideaerJD8^^%r#nx
容器属性创意公社- ideaer d${-P;w)P_3a ]s)F
在窗体内,可用 container 属性改变对象的容器。以下控件可包含其它控件:
LEz@"^+YV0frame 控件创意公社- ideaerNN J^4a
创意公社- ideaerp1jSxVns
picturebox 控件
w mxyJU&ybg&k a l\0创意公社- ideaeryr iH3k3D
toolbar 控件(仅对专业版和企业版而言)
n4P9g j8U)o`_'z }0如何在窗体上将命令按钮从一个容器移动到另一个容器,该例对此作了演示。打开新工程,并在窗体上画出 frame 控件、picturebox 控件和 commandbutton 控件。创意公社- ideaere9] \x1u D%g"v"|
下列代码在窗体单击事件中,这些代码使计数器变量增加,并通过 select case 循环使命令按钮在容器之间移动。创意公社- ideaer-An o#QHyB
private sub form_click ()
0["N'\,M+Nk6H9CX0   static intx as integer
#yeb$e$F YI0   select case intx
;EG^6S4Ed$g0      case 0
6d l#}Vby!` pj0      set command1.container = picture1创意公社- ideaer*X z o!P5^
      command1.top= 0创意公社- ideaer|&I Law@1~ _
      command1.left= 0
{.T#P)Er|J0      case 1创意公社- ideaer!M'`#zU5KE~5Nn
      set command1.container = frame1
[-W!RbI"T K0      command1.top= 0创意公社- ideaer6[U?;B([j
      command1.left= 0
|/b_y7}:oH&s0      case 2创意公社- ideaer*@C(r0r#e-_ t?
      set command1.container = form1
"}I9\Zq0      command1.top= 0
-i_ pk^B ZK6G0      command1.left= 0创意公社- ideaerc'u*j K9x+^oCI ?
   end select
U*S+|J]oa0kvZd0   intx = intx + 1
8c R"P ~_&j@$_V7]P0end sub创意公社- ideaer c#E;E3?C9X-q ]Y$h
详细信息 请参阅语言参考中的“container 属性”。创意公社- ideaercsA/V6BKq&M:s0]G w
对象之间的通讯
_p)z.[l0除了在 visual basic 中使用和创建对象外,还可与其它应用程序通讯并在自己的应用程序中操作其它应用程序的对象。在应用程序之间共享数据的能力是 microsoft windows 操作系统的关键性能之一。有了 visual basic,与其它应用程序进行通讯变得极为灵活。
tCAL"?l\(l0详细信息 关于使用其它应用程序的对象及其通讯的详细信息,请参阅“用部件编程”。创意公社- ideaer jmJ6`rT%tV7eC2V x)v

J:j~K:|6KE0
顶:7 踩:17
对本文中的事件或人物打分:
当前平均分:-0.45 (80次打分)
对本篇资讯内容的质量打分:
当前平均分:-0.03 (68次打分)
【已经有62人表态】
16票
感动
7票
路过
7票
高兴
5票
难过
6票
搞笑
6票
愤怒
6票
无聊
9票
同情
上一篇 下一篇
发表评论
换一张

网友评论仅供网友表达个人看法,并不表明本网同意其观点或证实其描述。

查看全部回复【已有0位网友发表了看法】