我按下菜单,看到里面的源代码如下:
Private Sub SubMenu9_Click(Index As Integer)
    If SubMenu9(Index).Tag <> "" Then
        Call RunTask(SubMenu9(Index).Tag)
    End If
End Sub但它没有写他执行了什么操作或打开了哪张forms啊指定我一下吧

解决方案 »

  1.   

    它调用了RunTask过程,参数是SubMenu9(Index).Tag,应是字符型的.Call 语句
          将控制权转移到一个 Sub 过程,Function 过程,或动态连接库 (DLL)过程。语法[Call] name [argumentlist]Call 语句的语法具有以下几个部分:部分 描述 
    Call 可选参数;关键字。如果指定了这个关键字,则 argumentlist 必须加上括号,例如: 
      Call MyProc(0) 
    name 必要参数,要调用的过程名称。 
    argumentlist   
    说明调用一个过程时,并不一定要使用 Call 关键字。如果使用 Call 关键字来调用一个需要参数的过程,argumentlist 就必须要加上括号。如果省略了 Call 关键字,那么也必须要省略 argumentlis 外面的括号。如果使用 Call 语法来调用内建函数或用户定义函数,则函数的返回值将被丢弃。若要将整个数组传给一个过程,使用数组名,然后在数组名后加上空括号。
      

  2.   

    debug.print RunTask(SubMenu9(Index).Tag)看看
      

  3.   

    这是一个小技巧,利用控件的tag属性使原本以数字形式的索引编程了文字,你只要看一下tag中的值就可以了。
    我本人比较推荐这个技巧,尤其是牵涉道非数组形式的多个控件需要与控件数组或者控件的collection(如ImageList中所保存的图片)进行一些操作的时候。
      

  4.   

    那我要在哪里才能这个过程呢,
    一般的过程在哪能找到?我看了一下tag中的值是空的,只要代表什么呢?
      

  5.   

    如果在设计时Tag的值是空的,那肯定是在运行时刻加上的,可以在整个工程里面搜索一下“tag”,看看是在什么地方赋的值。
    一般这种情况是用在控件数组上,尤其是那种可以自由加载的,比如针对不同的用户,会显示不同的菜单项的那种需求上。