Foxtable(狐表)用户栏目专家坐堂 → 代码问题


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

主题:代码问题

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


加好友 发短信
等级:三尾狐 帖子:790 积分:5677 威望:0 精华:0 注册:2009/4/17 18:42:00
代码问题  发帖心情 Post By:2010/10/9 11:35:00 [只看该作者]

  请问以下代码如何改成For Each 语句,应为我实际达到20多个页面,谢谢

If Forms("界面").Controls("TabControl1").SelectedIndex <> 1 Then '确定页面位置为2

    Dim pg As WinForm.TabPage

    Dim pg1 As WinForm.TabPage

    Dim pg2 As WinForm.TabPage

    Dim pg3 As WinForm.TabPage

    Dim pg4 As WinForm.TabPage

    Dim pg5 As WinForm.TabPage

    pg = Forms("界面").Controls("TabControl1").TabPages(0) '指定第2页面

    pg1 = Forms("界面").Controls("TabControl1").TabPages(1) '指定第2页面

    pg2 = Forms("界面").Controls("TabControl1").TabPages(2) '指定第2页面

    pg3 = Forms("界面").Controls("TabControl1").TabPages(3) '指定第2页面

    pg4 = Forms("界面").Controls("TabControl1").TabPages(4) '指定第2页面

    pg5 = Forms("界面").Controls("TabControl1").TabPages(5) '指定第2页面

    pg. Visible = True   '关闭该页面

    pg1.Visible = False   '关闭该页面

    pg2.Visible = False   '关闭该页面

    pg3.Visible = False   '关闭该页面

    pg4.Visible = False   '打开该页面

    pg5.Visible = False   '关闭该页面

End If

If Forms("界面").Controls("TabControl2").SelectedIndex <> 1 Then '确定页面位置为2

    Dim pga As WinForm.TabPage

    Dim pga1 As WinForm.TabPage

    Dim pga2 As WinForm.TabPage

    Dim pga3 As WinForm.TabPage

    Dim pga4 As WinForm.TabPage

    Dim pga5 As WinForm.TabPage

    pga = Forms("界面").Controls("TabControl2").TabPages(0) '指定第2页面

    pga1 = Forms("界面").Controls("TabControl2").TabPages(1) '指定第2页面

    pga2 = Forms("界面").Controls("TabControl2").TabPages(2) '指定第2页面

    pga3 = Forms("界面").Controls("TabControl2").TabPages(3) '指定第2页面

    pga4 = Forms("界面").Controls("TabControl2").TabPages(4) '指定第2页面

    pga5 = Forms("界面").Controls("TabControl2").TabPages(5) '指定第2页面

    pga. Visible = True   '关闭该页面

    pga1.Visible = False   '关闭该页面

    pga2.Visible = False   '关闭该页面

    pga3.Visible = False   '关闭该页面

    pga4.Visible = False   '打开该页面

    pga5.Visible = False   '关闭该页面

 

End If

Forms("界面").Controls("TabControl1").SelectedIndex = 1 '回到第4页面

Forms("界面").Controls("TabControl2").SelectedIndex = 1 '回到第4页面


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


加好友 发短信 一级勋章 三级勋章 二级勋章
等级:超级版主 帖子:6318 积分:33945 威望:0 精华:10 注册:2008/8/31 20:56:00
  发帖心情 Post By:2010/10/9 12:13:00 [只看该作者]

没明白你究竟想干什么?

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


加好友 发短信 一级勋章 三级勋章 二级勋章
等级:超级版主 帖子:6318 积分:33945 威望:0 精华:10 注册:2008/8/31 20:56:00
  发帖心情 Post By:2010/10/9 12:37:00 [只看该作者]

仅显示第二个页面。

 

For i As Integer = 0 To e.Form.Controls("TabControl1").TabPages.Count -1
    If i <> 1 Then
        e.Form.Controls("TabControl1").TabPages(i).Visible = False
    End If
Next

[此贴子已经被作者于2010-10-9 12:37:36编辑过]

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


加好友 发短信
等级:三尾狐 帖子:790 积分:5677 威望:0 精华:0 注册:2009/4/17 18:42:00
  发帖心情 Post By:2010/10/9 12:40:00 [只看该作者]

Forms("界面").Controls("TabControl1")和Forms("界面").Controls("TabControl2")有很多个页面,在菜单按钮代码执行:指定1个页面可见,其余不可见。

像以上代码就是可见第一页面,其余不可见。这样写代码太长,我想用页面集合来写,不知怎样写代码,谢谢


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


加好友 发短信 一级勋章 三级勋章 二级勋章
等级:超级版主 帖子:6318 积分:33945 威望:0 精华:10 注册:2008/8/31 20:56:00
  发帖心情 Post By:2010/10/9 12:43:00 [只看该作者]

抬头看。


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


加好友 发短信
等级:三尾狐 帖子:790 积分:5677 威望:0 精华:0 注册:2009/4/17 18:42:00
  发帖心情 Post By:2010/10/9 12:53:00 [只看该作者]

谢谢C版,3楼代码意思对了,但是我是用在菜单按钮代码中,e.Form.Controls("TabControl1")时候应改成:

Forms("界面").Controls("TabControl1")

下午上班试试看,再次谢谢


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


加好友 发短信 一级勋章 三级勋章 二级勋章
等级:超级版主 帖子:6318 积分:33945 威望:0 精华:10 注册:2008/8/31 20:56:00
  发帖心情 Post By:2010/10/9 12:57:00 [只看该作者]

如果是菜单中,还得再加个判断的,如:

If Forms("界面").Opened Then

……

End If


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


加好友 发短信
等级:三尾狐 帖子:790 积分:5677 威望:0 精华:0 注册:2009/4/17 18:42:00
  发帖心情 Post By:2010/10/9 17:33:00 [只看该作者]

谢谢C版,搞定

 回到顶部