动态加载Combo
我想动态加载Combo,其中有一段代码如下:
IsObject = NewCmbAteCom Is Nothing
If IsObject = False Then
Controls.Remove NewCmbAteCom
Set NewCmbAteCom = Nothing
End If
Set NewCmbAteCom = Controls.Add("VB.ComboBox", "cmbAteCom", Frame1)
NewCmbAteCom.AddItem "COM1", 0
NewCmbAteCom.AddItem "COM2", 1
NewCmbAteCom.Visible = True
如NewCmbAteCom=Nothing,此段代码没问题;
但是,NewCmbAteCom不是Nothing,Remove 句在运行时错误,显示:
"The control is no longer usable because it has been removed from the controls collection"
不知如何做才能处理这个问题?
哪位帮忙一下,先谢谢了!
问题点数:20、回复次数:5Top
1 楼truewill(无处不在)回复于 2006-03-08 20:54:57 得分 0
那你不remove不就好了,又不是C,系统会回收垃圾的Top
2 楼rainstormmaster(暴风雨 v2.0)回复于 2006-03-08 21:04:48 得分 10
简单的办法就是加一句:
on error resume nextTop
3 楼faysky2(出来混,迟早是要还嘀)回复于 2006-03-08 21:18:31 得分 10
IsObject = NewCmbAteCom Is Nothing
-------------------------------------
用 Is Nothing 并不能判断一个控件是否存在Top
4 楼adtX(adt.x)回复于 2006-03-20 13:08:53 得分 0
我想了想,好像这是警告
就用resume next了Top
5 楼homezj(小吉)回复于 2006-03-20 16:49:11 得分 0
Controls.Remove NewCmbAteCom
改成
Controls.Remove "cmbAteCom"
就不会错了。
NewCmbAteCom是变量名,而"cmbAteCom"才是控件名!Top




