vb 窗口之间传值
===========两个窗口,一个模块===================form1:PrivateSubCommand1_Click()cz="我是一个SQL语句"...
===========两个窗口,一个模块===================
form1:
Private Sub Command1_Click()
cz = "我是一个SQL语句"
Form2.Show
End Sub
Private Sub Form_Load()
Command1.Caption = "点我试一下"
Form2.Command1.Caption = "点击"
End Sub
form2:
Private Sub Form_Load()
Label1.Caption = cz '
'在打开时form2窗口时,执行cz这个SQL语句,显示查询内容.
End Sub
还有一个模块:
Public cz As String
===============================================
cz根本就传不过去。郁闷了很久才问,希高手能给指点一下。
谢谢,AQDBDZH 说的不错:1.已设cz为模块级变量2.form2为公用窗口,我多个窗口向它传cz,不可能在form2内使用:Form1.cz取值。【要被动受值,不主动取值】。所以我认同1楼回答和你的第3.再次感谢! 展开
form1:
Private Sub Command1_Click()
cz = "我是一个SQL语句"
Form2.Show
End Sub
Private Sub Form_Load()
Command1.Caption = "点我试一下"
Form2.Command1.Caption = "点击"
End Sub
form2:
Private Sub Form_Load()
Label1.Caption = cz '
'在打开时form2窗口时,执行cz这个SQL语句,显示查询内容.
End Sub
还有一个模块:
Public cz As String
===============================================
cz根本就传不过去。郁闷了很久才问,希高手能给指点一下。
谢谢,AQDBDZH 说的不错:1.已设cz为模块级变量2.form2为公用窗口,我多个窗口向它传cz,不可能在form2内使用:Form1.cz取值。【要被动受值,不主动取值】。所以我认同1楼回答和你的第3.再次感谢! 展开
4个回答
展开全部
===========两个窗口,一个模块===================
form1:
Private Sub Command1_Click()
cz = "我是一个SQL语句"
'Load Form2
Form2.Show
End Sub
Private Sub Form_Load()
Command1.Caption = "点我试一下"
End Sub
form2:
Private Sub Form_Load()
Label1.Caption = cz
'在打开时form2窗口时,执行cz这个SQL语句,显示查询内容.
Command1.Caption = "点击"
End Sub
还有一个模块:
Public cz As String
===============================================
原理我不知道,但这样写能行
form1:
Private Sub Command1_Click()
cz = "我是一个SQL语句"
'Load Form2
Form2.Show
End Sub
Private Sub Form_Load()
Command1.Caption = "点我试一下"
End Sub
form2:
Private Sub Form_Load()
Label1.Caption = cz
'在打开时form2窗口时,执行cz这个SQL语句,显示查询内容.
Command1.Caption = "点击"
End Sub
还有一个模块:
Public cz As String
===============================================
原理我不知道,但这样写能行
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
我可以很负责任的告诉你,单纯这样是传不过去的。
原因一:
首先应该明确,假如你不把一个变量之类的定义为公用的,那么它的作用区域就只有目前函数(事件),所以第一步要把cz定义为 public,即在form1的代码区最上面加上一句: Public cz
之后在其他对方要用时,加上form1.cz就行,在你这为 Label1.Caption = Form1.cz
原因二:
要清楚程序的运行机制,当你开始运行程序时,窗体都加载完成,也就是说,show在load之后,当form2_load时,cz还没赋值(要在Command1_Click之后),所以传给form2的cz为空,还是看不到要的结果,所以这时候不推荐用form2_load来触发,可用Form_Resize
综上:
1.form1加Public cz
2.from2用Private Sub Form_Resize或Private Sub Command1_Click()
3.Label1.Caption = cz 改为Label1.Caption = Form1.cz
原因一:
首先应该明确,假如你不把一个变量之类的定义为公用的,那么它的作用区域就只有目前函数(事件),所以第一步要把cz定义为 public,即在form1的代码区最上面加上一句: Public cz
之后在其他对方要用时,加上form1.cz就行,在你这为 Label1.Caption = Form1.cz
原因二:
要清楚程序的运行机制,当你开始运行程序时,窗体都加载完成,也就是说,show在load之后,当form2_load时,cz还没赋值(要在Command1_Click之后),所以传给form2的cz为空,还是看不到要的结果,所以这时候不推荐用form2_load来触发,可用Form_Resize
综上:
1.form1加Public cz
2.from2用Private Sub Form_Resize或Private Sub Command1_Click()
3.Label1.Caption = cz 改为Label1.Caption = Form1.cz
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你的代码没有问题
form1:
Private Sub Command1_Click()
cz = "我是一个SQL语句"
Form2.Show
End Sub
form2:
Private Sub Form_Load()
Caption = cz
End Sub
模块:
Public cz As String
form1:
Private Sub Command1_Click()
cz = "我是一个SQL语句"
Form2.Show
End Sub
form2:
Private Sub Form_Load()
Caption = cz
End Sub
模块:
Public cz As String
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询