2

我创建了以下 VB6 代码,并在我的表单上创建了两个控件 - Combo1(列表框)和Command3(一个按钮)。

当我从Combo1列表中选择一个项目时,我将一个字符串分配给表单范围变量param并将其显示在消息框中,然后将其关闭。

但是当我然后单击Command3按钮并尝试param在消息框中显示相同的变量时,则没有存储任何值。

这是我的代码:

Dim param As String

Sub Form_load()

    Combo1.AddItem "linux ver"
    Combo1.AddItem "linux ver"

End Sub

Sub Combo1_Click()

    If Combo1.ListIndex = 0 Then
        param = "linux 5.1"
        MsgBox param
    End If

    If Combo1.ListIndex = 1 Then
        param = "linux 5.5"
        MsgBox param
    End If

End Sub

Sub Command3_Click()

    MsgBox "param" & param

End Sub

我究竟做错了什么?

4

2 回答 2

0

看起来这是由于Variable Scope造成的。您需要在 Combo1_Click() 子例程之外定义“param”,因为就目前而言,param 仅存在并且可在该例程中访问。

于 2012-07-15T12:57:57.157 回答
0

如果 Combo1.ListIndex 为 -1 会怎样?还是2?

您的 param 变量永远不会被分配,您看到的行为正是预期的。

于 2012-07-16T00:46:02.880 回答