以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  同一个快捷菜单针对不同的表不同的显示,如何解决?  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=27913)

--  作者:迷狐
--  发布时间:2013/1/14 10:06:00
--  同一个快捷菜单针对不同的表不同的显示,如何解决?

希望同一个快捷菜单针对不同的表有不同的显示,将示例代码写在全局表BeforeShowContextMenu事件无作用,请问该如何解决?

 

If e.HitType = HitTypeEnum.empty  Then
    MessageBox.Show(e.Table.name, "提示")
    Select e.Table.name
        Case "零件总表"           
            ContextMenus("Empty").items("ADD").Enabled=False
            e.ContextMenu = ContextMenus("Empty")
        Case "零件明细表"
            ContextMenus("Empty").items("ADD").Enabled=True
            e.ContextMenu = ContextMenus("Empty")
        Case Else
            e.Cancel = True
    End Select
End If


--  作者:lin_hailun
--  发布时间:2013/1/14 10:13:00
--  
 我测试了一下,是可以的。对于全局表时间,你需要在程序打开的时候开启一下。

http://www.foxtable.com/help/topics/0671.htm

--  作者:迷狐
--  发布时间:2013/1/14 10:33:00
--  

谢谢

 

原来只有这四个全局表事件CurrentChanged、PositionChanged、AfterSelChange、AfterSelRangeChange默认有效

在项目事件Initialize加入代码:

For Each dt As DataTable In DataTables
    dt.GlobalHandler.BeforeShowContextMenu
= True
Next

 

不仔细看帮助啊