以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- [求助] 怎么按位置引用窗口集合中的窗口名称呢? (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=150435) |
-- 作者:龙潭春早 -- 发布时间:2020/5/29 21:09:00 -- [求助] 怎么按位置引用窗口集合中的窗口名称呢? 想按位置引用窗口集合中的窗口名称,在命令窗口执行下面的代码,显示 “ 不存在名称为 “0” 的窗口!”。 要怎么改呢? For i As Integer = 0 To Forms.Count - 1 OutPut.Show(Forms(i).Name) Next |
-- 作者:y2287958 -- 发布时间:2020/5/29 21:12:00 -- For Each f As WinForm.Form In Forms OutPut.Show(F.Name) Next
|
-- 作者:龙潭春早 -- 发布时间:2020/5/29 21:17:00 -- 嗯 这个是常规的遍历方法。 这里是想按照 “位置” 来引用,有什么办法吗?
|
-- 作者:y2287958 -- 发布时间:2020/5/29 21:18:00 -- 那就用一个集合记录名称即可 |
-- 作者:龙潭春早 -- 发布时间:2020/5/29 21:38:00 -- 具体怎么做呢? |
-- 作者:y2287958 -- 发布时间:2020/5/29 21:59:00 -- Dim lst As new List(of String) For Each f As WinForm.Form In Forms lst.add(f.Name) Next OutPut.Show(Forms(lst(0)).Name) |
-- 作者:龙潭春早 -- 发布时间:2020/5/29 22:43:00 -- 嗯 多谢大神! 顺便请教一下: 一楼的 Forms(i),应该就是第 i 位置的窗口了吧, 那么 Forms(i).Name,应该就是第 i 位置窗口的名称了。 但是,为什么不行呢?
|
-- 作者:有点蓝 -- 发布时间:2020/5/30 9:21:00 -- Forms不是普通的集合,是一个自定义的类型,没有索引用法, |
-- 作者:龙潭春早 -- 发布时间:2020/6/9 17:22:00 -- 嗯 也就是说,集合和集合的性能也不完全一样。 只有具备索引用法的集合,才能按位置来引用,如 行集合 Rows(0),列集合 Cols(3),节点集合 Nods(1)等。 |
-- 作者:有点蓝 -- 发布时间:2020/6/9 17:30:00 -- 是的 |