Foxtable(狐表)用户栏目专家坐堂 → [求助]遍历导航栏并删除某些页面的问题


  共有3471人关注过本帖树形打印复制链接

主题:[求助]遍历导航栏并删除某些页面的问题

帅哥哟,离线,有人找我吗?
昱飞哥
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:小狐 帖子:328 积分:2529 威望:0 精华:0 注册:2020/3/2 23:15:00
[求助]遍历导航栏并删除某些页面的问题  发帖心情 Post By:2021/6/20 22:36:00 [只看该作者]


图片点击可在新窗口打开查看此主题相关图片如下:1.jpg
图片点击可在新窗口打开查看


如图所示,比方我新建了一个“NavBar1”,三个页面名称和按钮标题都写得一样的。

然后,我在窗口的afterload事件写了如下代码:
For Each p As WinForm.NavPage In e.Form.Controls("NavBar1").navpages
    If p.Name <> "日历"
        e.Form.Controls("NavBar1").navpages.delete(p.name)
    End If
Next

我的本意是:删除导航栏除了“日历”的其他所有页面,结果运行结果却是下面这样:

图片点击可在新窗口打开查看此主题相关图片如下:2.jpg
图片点击可在新窗口打开查看
不知道到底哪里错了。

 回到顶部
帅哥,在线噢!
有点蓝
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:110558 积分:562680 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2021/6/20 22:56:00 [只看该作者]

倒序处理


For i As Integer = e.Form.Controls("NavBar1").navpages.count - 1 To 0 Step -1
    Dim p As WinForm.NavPage = e.Form.Controls("NavBar1").navpages(i)
    If p.Name <> "日历"
        e.Form.Controls("NavBar1").navpages.delete(p.name)
    End If
Next

 回到顶部
帅哥哟,离线,有人找我吗?
昱飞哥
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:小狐 帖子:328 积分:2529 威望:0 精华:0 注册:2020/3/2 23:15:00
  发帖心情 Post By:2021/6/20 23:16:00 [只看该作者]

蓝老师,为什么要这样呢?我写的遍历的代码不能遍历所有页面吗?

 回到顶部
帅哥,在线噢!
有点蓝
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:110558 积分:562680 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2021/6/20 23:41:00 [只看该作者]


 回到顶部
帅哥哟,离线,有人找我吗?
昱飞哥
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:小狐 帖子:328 积分:2529 威望:0 精华:0 注册:2020/3/2 23:15:00
  发帖心情 Post By:2021/6/20 23:44:00 [只看该作者]

明白了,谢谢老师

 回到顶部