2

次の VB6 コードを作成し、フォームにCombo1(リストボックス) とCommand3(ボタン) の 2 つのコントロールを作成しました。

リストからアイテムを選択すると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

Combo1.ListIndexが-1の場合はどうなりますか?または2?

param変数が割り当てられることはなく、表示される動作はまさに期待どおりです。

于 2012-07-16T00:46:02.880 に答える
0

これはVariable Scopeによるものと思われます。Combo1_Click() サブルーチンの外側で「param」を定義する必要があります。現状では、param はそのルーチン内でのみ存在し、アクセスできるためです。

于 2012-07-15T12:57:57.157 に答える