VB一个窗体上的数值怎么能够被另一个窗体上的代码引用

2024-10-30 13:28:08
推荐回答(4个)
回答1:

可以采用两种方法来解决:

一)在标准模块中声明全局变量,该变量在一个窗体的某事件中赋值或改变,另一窗体的某事件或过程中执行时就可直接引用。

'标准模块代码
Option Explicit
    Public i As Long
'Form1代码
Option Explicit

Private Sub Command1_Click()
    i = 12345
End Sub

Private Sub Form_Load()
    Form2.Show
End Sub
'Form2代码
Option Explicit

Private Sub Command1_Click()
    Text1 = i
End Sub

二)定义变量属于一个窗体上的公共变量,在另一格窗体可使用(窗体名.变量名)的代码来饮引用。

例引用Form1中定义的公用变量i赋值给文本框Text1的属性Text,则写为

Text1.Text = Form1.i

'Form1代码
Option Explicit
    Public i As Long

Private Sub Command1_Click()
    i = 12345
End Sub

Private Sub Form_Load()
    Form2.Show
End Sub
'Form2代码
Option Explicit

Private Sub Command1_Click()
    Text1 = Form1.i
End Sub

全局变量或公用变量用Public 语句声明。

Public 语句

在模块级别中使用,用于声明公用变量和分配存储空间。

回答2:

如果只是2个窗体间传值,可以在第一个窗体的unload事件里直接把text的值赋给form2.text1就可以了。。

回答3:

在第二个窗体里定义一个全局变量,public txt as string
窗体一退出时将文本框的值给变量txt,窗体二在读取这个变量就行了

回答4:

form1:text1. code: private sub form_load() on error resume next open "c:\1.txt" for input as #1 input #1,t$ text1.text=t$ close end sub private sub form_unload() open "c:\1.txt" for output as #1 print #1,text1.text close end sub 第二个问题,只需调用form1.text1.text