dim myControls as new Dictionary 显示用户类型未定义

qq_34497259 2017-11-16 01:14:40
既然是动态加入控件,干吗还需要用控件数组?
倘若你只是希望通过名称来管理这些控件,那么用一个集合或者集合集即可,例如:
dim myControls as new Dictionary
if not myControls.exists (controlName) then
myControls.add controlName, new Dictionary
end if

myControls(controlName).add controlIndex, Controls.Add("VB.CommandButton", "MyButton" & CStr(i))

此后,即可用 myControls(controlName)(contrlIndex) 来访问你所添加的任何一个控件
...全文
553 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
舉杯邀明月 2017-11-16
  • 打赏
  • 举报
回复
引用 楼主 qq_34497259 的回复:
既然是动态加入控件,干吗还需要用控件数组? 倘若你只是希望通过名称来管理这些控件,那么用一个集合或者集合集即可,例如: dim myControls as new Dictionary if not myControls.exists (controlName) then myControls.add controlName, new Dictionary end if myControls(controlName).add controlIndex, Controls.Add("VB.CommandButton", "MyButton" & CStr(i)) 此后,即可用 myControls(controlName)(contrlIndex) 来访问你所添加的任何一个控件
有多少人“用控件数组”,为的是这个!!! 我认为这种“需求度”几乎接近0的,并且控件数组的主要用途也不在这方面上。 看来楼主根本就不懂得软件工程的“规划”。  发个帖子,还文不对题的…………
X-i-n 2017-11-16
  • 打赏
  • 举报
回复
一般Dictionary叫字典,成员是键值对(string key, Object value),所以可以按键索引,也可以按index索引;集合是Collection,成员是一个Object,只能按index索引。 控件数组的使用场景是“群体控制”,比如一堆buttion,我可以只写一个事件,而不用为每个button的同一事件各写一次代码,它只是提供了一些场景下实现需求的更便捷的方法,并不是一定要用,也不是一定不能用,就像1+8=9,2+7也等于9,1+8并不是唯一解。 如果要获取窗体上Command1这个按钮,直接用me.controls("Command1")就可以,是不是和字典用法一样?

742

社区成员

发帖
与我相关
我的任务
社区描述
VB 版八卦、闲侃,联络感情地盘,禁广告帖、作业帖
社区管理员
  • 非技术类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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