VB 问题,急,在线等。高分

来源:百度知道 编辑:UC知道 时间:2024/06/05 06:48:20
定义了下面的

Private Sub Check12_Click()
If Check12.Value = 1 Then
Dim c1 As String
c1 = " -ABC"
End If
End Sub

然后

Private Sub Command2_Click()
MsgBox (apppath.Text + c1)
End Sub

为什么显示不出C1的值?
那请问如何把C1定义为全局变量??麻烦快点回答

方法:新建一个模块,在模块中写:
Public C1 as String

要用全局变量。
Dim c1 As String '这个在通用区声明。

Private Sub Check12_Click()
If Check12.Value = 1 Then
c1 = " -ABC"
End If
End Sub

然后

Private Sub Command2_Click()
MsgBox (apppath.Text + c1)
End Sub

c1是私有变量

只能在Check12_Click事件中起作用,

把它定义到最上边,在整个窗体中都起作用.

Private Sub Check12_Click()
If Check12.Value = 1 Then
c1 = " -ABC"
End If
End Sub

然后

Private Sub Command2_Click()
call check12.click
MsgBox (apppath.Text + c1)
End Sub

Dim和Static一般在过程(Sub或者Function)内部使用,它们所定义的变量都只能在过程内部被访问。区别在于:前者定义的是动态变量,过程一旦结束,该变量所占有的内存就会被系统回收,而变量所储存的数据就会被破坏。后者定义的是静态变量,这意味着在过程结束后这个变量所占有的内存不会被回收,数据当然也不会被破坏了,这样当你下次再调用该过程的时候,数据就依然存在。

Private Sub Check12_Click()
If Check12.Value = 1 Then
Static c1 As String //用Static而不用Dim
c1 = " -ABC"
End If