以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  [求助] 请教,如何模拟配置栏菜单(PerformClick)  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=78414)

--  作者:coch2004
--  发布时间:2015/12/8 21:29:00
--  [求助] 请教,如何模拟配置栏菜单(PerformClick)
同上题.谢谢!

Dim trv1 As WinForm.TreeView = e.Form.Controls("tr1")
Dim trd1 As WinForm.TreeNode= trv1.SelectedNode
If trd1 IsNot Nothing Then
    If trd1.Level=1 Then
        \'Forms(trd1.name).Show
        Dim itm As RibbonMenu.RibbonItem
        For Each itm In configbar.Items(trd1.ParentNode.Name).items
            If itm.Gettype().Name="Button" Then
                If itm.Name=trd1.Name Then
                    Dim btn As RibbonMenu.Button
                    btn=itm
                    btn.PerformClick()   \'此处无反应! 
                End If
            End If
        Next
    End If
End If

[此贴子已经被作者于2015/12/8 21:32:54编辑过]

--  作者:大红袍
--  发布时间:2015/12/8 21:40:00
--  

汗,你加上msgbox,看计入哪个判断了。

 

If itm.Gettype().Name="Button" Then

 

改成

 

If TypeOf itm As RibbonMenu.Button Then


--  作者:coch2004
--  发布时间:2015/12/8 21:45:00
--  
大红袍,我知道什么原因了,但我自己目前是无法解决了. 
原因: 我的配置栏菜单是动态生成的,不是在实体配置菜单下写的代码
代码内容是通过 菜单事件的一个自定义函数来完成的!!!!!

我测试过,如果是实体配置栏菜单下的代码是可以执行的...  目前水平有限,好像无解.呵呵

--  作者:大红袍
--  发布时间:2015/12/8 22:19:00
--  
 既然是用自定义函数来完成的,那你就可以直接调用函数的代码来做啊。