Private Sub Form_Click()
   Static I   
   Dim OldFont
   OldFont = FontName   
    FontName = Screen.Fonts(I)   
    Print Screen.Fonts(I)   
   I = I + 1   ' 计数器增一。
   If I = FontCount Then I = 0   
   FontName = OldFont   End Sub1.Static,Dim 两个关键子定义出的变量 有什么区别?
2.不写变量类型 默认是变体?
3.OldFont = FontName 这句FONTNAME 是多少?
4.FontName = Screen.Fonts(I)  这句中的I值是多少? 

解决方案 »

  1.   

    1、2 请参阅联机帮助(MSDN)
    3.fontname即me.fontname
    4. 理解了static,就知道这里的I值了。
      

  2.   

    我在MSDN里看了
    没搞懂才来问的
      

  3.   

    1.普通的局部变量在过程结束后被释放,在下次执行过程时重新初始化为0。而用Static声明的局部变量在过程结束后不被释放,仍保留变量的值。
    例如:
    Sub AddOne()
    Static I As Integer
    I=I+1
    MsgBox "A=" & I
    End Sub 
    开始变量I的值为0,执行一次AddOne子过程后,I的值变为1,以后再执行该子过程时,I的初值不会初始化为0,而是上次执行后I的值。2.不写变量类型 默认是变体3.fontname指的是me.fontname即当前窗体form1.fontname4.鼠标每点一次窗体,I就加一次1,If I = FontCount Then I = 0
      

  4.   

    第一个问题,举个例子:
    Private Sub Form_Click()
       Static I    
       I = I + 1   ' 计数器增一。
    End Sub第一次点,I=1;第二次点,I=2;以后依次递增
    ——————————————————————————
    Private Sub Form_Click()
       Dim I    
       I = I + 1   ' 计数器增一。
    End Sub第一次点,I=1;第二次点,I=1;……因为每次发生这个事件后,I都重新变成了0又加1
      

  5.   

    1、使用 static 修饰符声明属于类型本身而不是属于特定对象的静态成员
       dim的用法见http://msdn.microsoft.com/library/chs/default.asp?url=/library/CHS/vblr7/html/vastmDim.asp2是变体是型
      

  6.   

    1 。Static 是定义静态变量 Dim一般的变量
    2。不写变量类型 默认是Variant 即以后给他附什么类型的值 他就是什么类型
    3。FontName 是本窗体的  字体
    4。I 因为没有初始话过 又因为他是Variant 变量 但是Screen.Fonts 里的参数一定要整型值
        I 自动转化为 integer 型 ,所以值为0 (如果为string 的话 则为 空 字符串,另为在c语言里没初始化 的变量为Null 里面的值不确定)