以文本方式查看主题 - Foxtable(狐表) (http://foxtable.com/bbs/index.asp) -- 专家坐堂 (http://foxtable.com/bbs/list.asp?boardid=2) ---- 点击页面选项按钮隐藏页面集合的页面 (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=165244) |
-- 作者:采菊东篱下 -- 发布时间:2021/5/11 17:19:00 -- 点击页面选项按钮隐藏页面集合的页面 我在主界面的AfterLoad事件中写了: \'隐藏页面集合 For i As Integer = 7 To 10 Dim pg(i) As WinForm.TabPage pg(i) = Forms("主界面").Controls("TabControl1").TabPages(i) pg(i).Visible = False Next 然后在任务栏的TopicLinkClick事件中写上: Select Case e.Link.Text Case "资产" Dim pg7 As WinForm.TabPage = Forms("主界面").Controls("TabControl1").TabPages(7) pg7.Visible = True Dim tab As WinForm.TabControl = e.Form.Controls("TabControl1") tab.SelectedIndex = 7 Case "负债" Dim pg8 As WinForm.TabPage = Forms("主界面").Controls("TabControl1").TabPages(8) pg8.Visible = True Dim tab As WinForm.TabControl = e.Form.Controls("TabControl1") tab.SelectedIndex = 8 Case "所有者权益" Dim pg9 As WinForm.TabPage = Forms("主界面").Controls("TabControl1").TabPages(9) pg9.Visible = True Dim tab As WinForm.TabControl = e.Form.Controls("TabControl1") tab.SelectedIndex = 9 Case "损益" Dim pg10 As WinForm.TabPage = Forms("主界面").Controls("TabControl1").TabPages(10) pg10.Visible = True Dim tab As WinForm.TabControl = e.Form.Controls("TabControl1") tab.SelectedIndex = 10 End Select 我在SelectedIndexChanged事件写了: If Forms("主界面").Controls("TabControl1").SelectedIndex >= 7 Then Forms("主界面").Controls("TabControl1").SelectedPage.Visible = False End If 想实在点任务栏按钮显示隐藏任务,点页面集集合按钮,隐藏页面,但写了红色代码后,点任务栏按钮就不起作用了,不能显示页面,去除红色代码才能显示页面,请教如何实现我要的效果?
|
-- 作者:有点蓝 -- 发布时间:2021/5/11 17:32:00 -- 去掉SelectedIndexChanged代码 TopicLinkClick事件中写上: Dim tab As WinForm.TabControl = e.Form.Controls("TabControl1") For i As Integer = 7 To 10 tab.TabPages(i).Visible = False Next Select Case e.Link.Text Case "资产" Dim pg7 As WinForm.TabPage = tab.TabPages(7) pg7.Visible = True tab.SelectedPage = pg7 …… |
-- 作者:采菊东篱下 -- 发布时间:2021/5/11 17:55:00 -- 点任务栏按钮只能显示,不能再隐藏。 [此贴子已经被作者于2021/5/11 17:55:37编辑过]
|
-- 作者:采菊东篱下 -- 发布时间:2021/5/11 18:01:00 -- 我想点击按钮把已经显示的页面再隐藏。 |
-- 作者:有点蓝 -- 发布时间:2021/5/11 20:04:00 -- Dim tab As WinForm.TabControl = e.Form.Controls("TabControl1") For i As Integer = 7 To 10 tab.TabPages(i).Visible = False Next |
-- 作者:采菊东篱下 -- 发布时间:2021/5/11 20:49:00 -- 你这方法是打开一个页面,同时关闭已打开的页面,始终有一个页面打开,我要的效果是可以一个个随意关闭这几个页面的效果。刚才我在任务栏的TopicPageCollapsed事件里写了这段代码: Dim tp As WinForm.TopicPage = Forms("主界面").Controls("TopicBar1").Pages("会计科目") For i As Integer = 7 To 10 e.Form.Controls("TabControl1").TabPages(i).Visible = False Next 可以实现点击任务栏按钮关闭添加显示的所有页面,但这是关闭所有,不是一个个页面关闭。 |
-- 作者:有点蓝 -- 发布时间:2021/5/11 21:02:00 -- 只关闭一个页面? e.Form.Controls("TabControl1").TabPages(0).Visible = False 或 e.Form.Controls("TabControl1").TabPages("某页面名称").Visible = False
|
-- 作者:采菊东篱下 -- 发布时间:2021/5/11 21:27:00 -- 这代码写在哪?写在TabControl1控件的SelectedIndexChanged事件?我试过不行,写在这就无法显示想添加的页面。 |
-- 作者:有点蓝 -- 发布时间:2021/5/11 21:54:00 -- 放到按钮,或者任务栏点击事件里。 |
-- 作者:采菊东篱下 -- 发布时间:2021/5/11 22:40:00 -- 只能另外做一个关闭按钮,执行这样的代码,能不能实现点一下打开,再点一下是关闭呢? |