以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  如何控制任务栏(topicbar)只打开一个页面  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=82204)

--  作者:playmal
--  发布时间:2016/3/13 19:34:00
--  如何控制任务栏(topicbar)只打开一个页面

如何控制任务栏(topicbar)只打开一个页面,单击当前页面的时候,其它的页面都折叠收起,不知怎么写代码。


--  作者:sjx71
--  发布时间:2016/3/13 19:43:00
--  

希望展开一个页面的同时,关闭其它页面,为此可将TopicPageExpanded事件代码设置为:

Dim tpb As WinForm.TopicBar = e.Form.Controls("TopicBar1")
For
Each page As WinForm.TopicPage In tpb.Pages
   
If page.Name <> e.Page.Name Then
        page.Collapsed =
True
    End
If
Next


参见  TopicPageExpanded


--  作者:客人
--  发布时间:2016/3/13 20:07:00
--  
试了一下,选择其中的一个页面,出现跳的现象,就是说,点击的页面没有打开,另一个页面打开了。这是什么原因。
--  作者:sjx71
--  发布时间:2016/3/13 21:08:00
--  
再在窗口的 AfterLoad 事件中加入下列代码, 试一下

Dim tpb As WinForm.TopicBar = e.Form.Controls("TopicBar1")
For Each page As WinForm.TopicPage In tpb.Pages    
    page.Collapsed = True    
Next

让窗口打开时,各个页面都折叠收起,

然后再打开任意一个页面,其它页面都处于收起状态。

--  作者:playmal
--  发布时间:2016/3/13 22:07:00
--  
还是不行,没办法了,肯定是foxtable中的一个BUg,望狐爸解决。
--  作者:playmal
--  发布时间:2016/3/13 22:18:00
--  
2016.3.13版就有这个问题
--  作者:playmal
--  发布时间:2016/3/14 6:57:00
--  
请狐爸看看是否能解决这个bug。
--  作者:playmal
--  发布时间:2016/3/14 8:24:00
--  
请狐爸看看此贴。
--  作者:playmal
--  发布时间:2016/3/14 9:15:00
--  
狐狸爸爸看到此帖了吗?
--  作者:大红袍
--  发布时间:2016/3/14 10:11:00
--  

timertick事件

 

e.form.TimerEnabled = False
Dim tpb As WinForm.TopicBar = e.Form.Controls("TopicBar1")
For Each page As WinForm.TopicPage In tpb.Pages
    If page.Name <> vars("curr").name Then
        page.Collapsed = True
    End If
Next

 

TopicPageExpanded 事件

 

vars("curr") = e.Page
e.form.TimerInterval = 500
e.Form.TimerEnabled = True