以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  [分享] 菜单动态操作中非常有用的一对原生方法  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=85933)

--  作者:逛逛
--  发布时间:2016/6/6 10:17:00
--  [分享] 菜单动态操作中非常有用的一对原生方法

C1的C1Ribbon有一对非常有用的方法(C1Ribbon).BeginUpdate() 和 (C1Ribbon).EndUpdate()

 

相当于StopRedraw和ResumeRedraw (也就是停止重绘和开始重绘),可以改善用户体验。

 

 

 

 使用方法


 

Dim a As C1Ribbon.C1Ribbon = BaseMainForm.controls("C1Ribbon1")
a.BeginUpdate()
For Each t As C1Ribbon.RibbonTab In a.Tabs    \'菜单隐藏
    t.Visible = True
Next
a.EndUpdate()

 

1、Dim a As C1Ribbon.C1Ribbon = BaseMainForm.controls("C1Ribbon1")
获取菜单的原生对象。建议在全局代码中建立一个函数统一获取,防止以后升级时变更,如:

Public Function GetRibbon() As C1Ribbon.C1Ribbon

    return  BaseMainForm.controls("C1Ribbon1")

End Function

 

将代码改成

Dim a As C1Ribbon.C1Ribbon = GetRibbon()

 

2、a.BeginUpdate()   

停止重绘

 

3、对菜单操作

这里可以用狐表自身的方法

如:

For Each t As RibbonMenu.Tab In RibbonTabs    \'菜单隐藏
    t.Visible = bShow
Next

 

4、a.EndUpdate()

刷新菜单

 


[此贴子已经被作者于2017/12/16 8:46:57编辑过]

--  作者:大红袍
--  发布时间:2016/6/6 10:19:00
--  
 瞧瞧
--  作者:blackzhu
--  发布时间:2016/6/6 10:44:00
--  
下载看看,老大这个是我以前一直要找的东西
[此贴子已经被作者于2016/6/6 10:44:44编辑过]

--  作者:Hopenight
--  发布时间:2016/6/6 10:54:00
--  
 学习一下
--  作者:jspta
--  发布时间:2016/6/6 11:01:00
--  
学习下
--  作者:zhengboxin
--  发布时间:2016/6/6 11:13:00
--  
图片点击可在新窗口打开查看
--  作者:y2287958
--  发布时间:2016/6/6 11:31:00
--  
何止是逛逛?
--  作者:chen3728060
--  发布时间:2016/6/6 11:33:00
--  
瞧瞧
--  作者:pcxjxjhkw
--  发布时间:2016/6/6 12:40:00
--  
学习
--  作者:晕了快扶我
--  发布时间:2016/6/6 12:58:00
--  
 订