当你第一次单击Commandbutton时c这个值并未赋值,直接就显示form2了但并没有直接执行form2中的load事件,就在form1上直接显示“a+b”
关闭form2 unload form2
建议修改:
Private Sub Command1_Click() '按钮
Form2.Show 1'调用窗体form2运算c的值
Print "a+b=" & c
End Sub
运行窗体form2按回车关闭窗体2,
form2窗体中的代码:
Option Explicit
Private Sub Form_KeyPress(KeyAscii As Integer)
If KeyAscii = 13 Then
Unload me
End If
End Sub
把Print换了吧,msgbox,运行后没问题
多窗体调用变量建议在模块中定义变量!
新建个模块在模块中定义A,B,C
Private Sub Command1_Click() '按钮
Form2.Show '调用窗体form2运算c的值
Print "a+b=" & c '这里所有代码都会执行完,如果没猜错的话应该会输出0
End Sub
Private Sub Form_Click()
Print "a=" & a
Print "b=" & b
End Sub
Private Sub Form_Load()
a = 1
b = 2
End Sub
form2窗体中的代码:
Option Explicit
Private Sub Form_KeyPress(KeyAscii As Integer)
If KeyAscii = 13 Then
UNLOAD ME
End If
End Sub
Private Sub Form_Load()
C=A+B
form1.print "a+b="&c
End Sub
我没试,乱想出来的,刷分!