vb中窗体间传值问题

2024-12-26 02:04:12
推荐回答(4个)
回答1:

当你第一次单击Commandbutton时c这个值并未赋值,直接就显示form2了但并没有直接执行form2中的load事件,就在form1上直接显示“a+b”

回答2:

关闭form2 unload form2

建议修改:
Private Sub Command1_Click() '按钮
Form2.Show 1'调用窗体form2运算c的值
Print "a+b=" & c
End Sub

回答3:

运行窗体form2按回车关闭窗体2,
form2窗体中的代码:
Option Explicit

Private Sub Form_KeyPress(KeyAscii As Integer)
If KeyAscii = 13 Then
Unload me
End If
End Sub
把Print换了吧,msgbox,运行后没问题

回答4:

多窗体调用变量建议在模块中定义变量!
新建个模块在模块中定义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
我没试,乱想出来的,刷分!