有以下的代码但我不明白Form1.Tag = "T"有什么做用,请各位大虾指导一下!!
Dim v As Boolean '是否按了操作符
Dim s As Integer '运算符
Dim x As Double, y As Double '操作数
Private Sub Command1_Click(Index As Integer)
If Form1.Tag = "T" Then
    If Index = 10 Then
       Text1.Text = "0."
    Else
        Text1.Text = Command1(Index).Caption
    End If
    Form1.Tag = ""
  Else
    Text1.Text = Text1.Text & Command1(Index).Caption
End If
End SubPrivate Sub Command2_Click(Index As Integer)
Form1.Tag = "T"
If v Then
    x = Val(Text1.Text)
    v = Not v
  Else
    y = Val(Text1.Text)
    Select Case s
        Case 0
         Text1.Text = x + y
        Case 1
         Text1.Text = x - y
        Case 2
         Text1.Text = x * y
        Case 3
         If y <> 0 Then
         Text1.Text = x / y
         Else
         MsgBox ("y can no 0")
         Text1.Text = x
         v = False
         End If
        Case 4
         y = 0
         v = False
     End Select
x = Val(Text1.Text)
End If
s = Index     
End Sub

解决方案 »

  1.   

    那Form1.Tag = "T"中的"T"可以改为其它东东吗,如"a"??
    还有tag属性有没有默认值的啊,有的话是什么??
      

  2.   

    还有If v Then
    那里v的值是什么啊true还是false??
      

  3.   

    Form1.Tag是为使用户保存数据而产生的属性,你完全可以把他看成是一个变量。
    程序中在按下操作符后将Form1.Tag设为"T"值,然后在按数字键时判断Form1.Tag值做出不同的处理。你看了以下的例子就会明白了:
    ----------------------------------------------------------------
         运用了Form1.Tag语句          |       未运用了Form1.Tag语句
    -----------------------------------------------------------------
    按键          Text1显示的内容     |    按键       Text1显示的内容
    2                 2               |     2               2
    +                 2               |     +               2
    3                 3               |     3              23
    +                 5               |     +              25
    ----------------------------------------------------------------
    明白了吧?Form1.Tag="T"的作用就是用来判断是否该清除Text1的内容,也就是说是否该显示另一个操作数了。你也完全可以用自己定义一个Boolean变量来判断。还有V变量的作用是来判断操作数的类型,即是存入X变量还是Y变量,而不是用来判断是否按下操作符的。