0

こんにちは、プロジェクトの 1 行のコードで null 参照の実行時エラーが発生しますが、ブレーク ポイントを指定してステップ スルーすると、すべて正常に動作します。何かご意見は

Private Sub Button1_Click(sender As System.Object, e As System.EventArgs) Handles Button1.Click
    Dim checkbox_l As String = "CheckBox"
    Dim checkbox_i As string
    For i As Integer = 1 To id Step 1
        checkbox_i = checkbox_l + i.ToString
        Try
            If CType(Panel1.Controls(checkbox_i), CheckBox).Checked = True Then
                My.Settings.name = Panel1.Controls("CheckBox" & i).Text
                Call installer_properties()
                Call start_install()
            End If
        Catch ex As Exception
            MsgBox(ex.ToString)
        End Try
    Next
End Sub

このコードは、動的に作成されたチェックボックスがチェックされているかどうかを確認し、それに応じて先に進むことを目的としていますが、次の行でエラーが発生します

If CType(Panel1.Controls(checkbox_i), CheckBox).Checked = True Then
4

2 に答える 2

0

チェックされている場合は結果1を取得し、チェックされていない場合は0を取得するには、次のように記述できます。

textbox1.text = Microsoft.VisualBasic.Right(Panel1.Controls("CheckBox" & i).ToString, 1)

于 2016-05-10T03:18:03.060 に答える