以下是引用lowxiong在2013-2-18 11:45:12的发言:
比如你有一个image控件数组img1,可以肯定img1(0)是存在的,你想加载img1(5),你不清楚img1(5)是否已经加载,可以设计一个函数检测,根据函数返回值判断这个控件是否加载,可以用两种方法设计这个函数。
'方法一,用错误捕获
function testImgLoadErr(index as integer) as boolean
on error resume next
dim a as integer
testImgLoadErr=true '默认控件未加载
err.clear
a=img1(index).index
if err.number=0 then testImgLoadErr=false '如果不存在错误码,说明该控件已加载,返回值为假
end function
'方法二,遍历已加载控件,比较欲加载的控件系列号是否存在,存在返回假,不存在返回真
function testImgLoadAll(index as integer) as boolean
dim a as img
testImgLoadAll=true '默认控件未加载
for each a in img1
if a.index=index then
testImgLoadAll=false '如果存在该索引值,说明控件已加载
exit for
end if
next
end function
'调用方法
if testImgLoadAll(5) then load img1(5) '使用方法二加载控件
if testImgLoadErr(6) then load img1(6) '使用方法一加载控件
非常感谢您的热必指导!我是VB初学者,正需要您这样的老师热心指教。我还有一个问题请教您,我在创建Image()控件数组时,非得在窗体上先放一个Image(0),然后才能在运行代码中依次加载出Image(1)、Image(2)...我怎样做才能用代码直接创建出全部控件数组,我试过在加载前加上Image().Index=0语句,可是不行,您能教教我吗?