Foxtable(狐表)用户栏目专家坐堂 → 动态生成菜单代码执行的问题


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

主题:动态生成菜单代码执行的问题

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


加好友 发短信 一级勋章
等级:狐仙 帖子:9879 积分:57634 威望:0 精华:15 注册:2008/9/1 9:45:00
动态生成菜单代码执行的问题  发帖心情 Post By:2011/8/19 17:26:00 [只看该作者]

  我做了三个表,分别可以在的菜单功能区,配置栏以及访问栏生成控件,因为是动态生成控件,所以代码只能写在在菜单的全局事件里,现在问题是我分别在功能区,以及配置栏还有在访问栏分别生成三个按钮,只要随便按哪一个按钮,会将三个按钮全部执行一次.这个怎么弄?

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


加好友 发短信 一级勋章
等级:狐仙 帖子:9879 积分:57634 威望:0 精华:15 注册:2008/9/1 9:45:00
  发帖心情 Post By:2011/8/19 17:32:00 [只看该作者]

Dim code As String
For Each dr As DataRow In DataTables("表A").DataRows
        If dr("功能区") = 菜单 And dr("菜单组件名称") = 按钮 Then
            code = dr("代码") & vbcrlf
            code = code & "Return Nothing"
            Functions.add("zhi",code)
            Functions.complie()
            Functions.Execute("zhi")
        End If
Next
Functions.remove("zhi")

Dim code1 As String
For Each dr As DataRow In DataTables("表C").DataRows
    Dim itm As RibbonMenu.RibbonItem
    For Each itm In QAT.Items
        If itm.Name =(dr("访问栏组件名称")) Then
            code1 = dr("代码编辑器") & vbcrlf
            code1 = code1 & "Return Nothing"
            Functions.Add("dtsc",code1)
            Functions.Complie()
            Functions.Execute("dtsc")
            Functions.remove("dtsc")
        End If
    Next
Next
Functions.remove("dtsc")


Dim code2 As String
For Each dr2 As DataRow In DataTables("配置栏").DataRows
    Dim item As RibbonMenu.RibbonItem
    For Each item In ConfigBar.Items
        If item.Name =(dr2("配置栏组件名称")) Then
            code2 = dr2("代码编辑器") & vbcrlf
            code2 = code2 & "Return Nothing"
            Functions.Add("dtsc1",code2)
            Functions.Complie()
            Functions.Execute("dtsc1")
            Functions.remove("dtsc1")
        End If
    Next
Next
Functions.remove("dtsc1")

我的代码是这样的.

 回到顶部
帅哥,在线噢!
狐狸爸爸
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:管理员 帖子:47497 积分:251403 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2011/8/19 17:37:00 [只看该作者]

Dim code As String
For Each dr As DataRow In DataTables("表A").DataRows
        If dr("功能区") = 菜单 And dr("菜单组件名称") = 按钮 Then
            code = dr("代码") & vbcrlf
            code = code & "Return Nothing"
            Functions.add("zhi",code)
            Functions.complie()
            Functions.Execute("zhi")
            Return
        End If
Next
Functions.remove("zhi")

Dim code1 As String
For Each dr As DataRow In DataTables("表C").DataRows
    Dim itm As RibbonMenu.RibbonItem
    For Each itm In QAT.Items
        If itm.Name =(dr("访问栏组件名称")) Then
            code1 = dr("代码编辑器") & vbcrlf
            code1 = code1 & "Return Nothing"
            Functions.Add("dtsc",code1)
            Functions.Complie()
            Functions.Execute("dtsc")
            Functions.remove("dtsc")
            Return
        End If
    Next
Next
Functions.remove("dtsc")

Dim code2 As String
For Each dr2 As DataRow In DataTables("配置栏").DataRows
    Dim item As RibbonMenu.RibbonItem
    For Each item In ConfigBar.Items
        If item.Name =(dr2("配置栏组件名称")) Then
            code2 = dr2("代码编辑器") & vbcrlf
            code2 = code2 & "Return Nothing"
            Functions.Add("dtsc1",code2)
            Functions.Complie()
            Functions.Execute("dtsc1")
            Functions.remove("dtsc1")
            Return
        End If
    Next
Next
Functions.remove("dtsc1")


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


加好友 发短信 一级勋章
等级:狐仙 帖子:9879 积分:57634 威望:0 精华:15 注册:2008/9/1 9:45:00
  发帖心情 Post By:2011/8/19 17:43:00 [只看该作者]

老大,测试了一下,第一段代码执行对的,第二段代码也对的,但是第三段执行只会执行第二段的代码.
 而且有个问题,我每一次打开窗口管理,再关闭窗口管理的时候,不做应用,也会执行一次第二段代码?

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


加好友 发短信
等级:三尾狐 帖子:623 积分:3897 威望:0 精华:0 注册:2011/8/3 22:13:00
  发帖心情 Post By:2011/8/19 21:36:00 [只看该作者]

老大的代码不行啊

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


加好友 发短信 一级勋章
等级:狐仙 帖子:9879 积分:57634 威望:0 精华:15 注册:2008/9/1 9:45:00
  发帖心情 Post By:2011/8/20 9:16:00 [只看该作者]

老大这个代码,第一段代码执行成功,第二和第三段执行的是一样的结果.认不到配置栏和访问栏.

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


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

呵呵,我不会。

可否采用PerformClick?


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


加好友 发短信 一级勋章
等级:狐仙 帖子:9879 积分:57634 威望:0 精华:15 注册:2008/9/1 9:45:00
  发帖心情 Post By:2011/8/20 13:43:00 [只看该作者]

曹老师应该不是这样的,估计是认不到栏目的问题.

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


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

单独执行第三段看看怎么样?

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


加好友 发短信 一级勋章
等级:狐仙 帖子:9879 积分:57634 威望:0 精华:15 注册:2008/9/1 9:45:00
  发帖心情 Post By:2011/8/20 14:25:00 [只看该作者]

单独第二段执行第二段,第三段执行第三段.

 回到顶部
总数 12 1 2 下一页