0

我正在研究 VB.NET 的表单事件

我的程序正在 VB.NET 表单上加载和设置一些日期。

当软件切换复选框为真时,我突然得到 System.IndexOutOfRangeException

例如,我使用 control 和 for 循环来切换复选框状态 我使用 control 方法来循环和搜索 groupbox 中的复选框

For Each c As Control In GT.SET_MY.Controls
    If c.GetType Is GetType(CheckBox) Then
        Dim sc As CheckBox = DirectCast(c, CheckBox)
        If BW_List(BW_INDEX).Trim = "Y" Then
            **sc.Checked = CB.T** ' **ERR POINT**
            Tracker = sc.Text
        Else
            sc.Checked = CB.F
        End If
        BW_INDEX -= 1
    End If
Next

当程序将复选框设置为 false 时,例如“sc.Checked = CB.F”。它没有任何错误

但是,当程序将复选框设置为 true(sc.Checked = CB.T) 时,它会返回 System.IndexOutOfRangeException

我不清楚为什么会发生这种情况......

错误信息是

Myproject.exe 中出现了“System.IndexOutOfRangeException”类型的第一次机会异常

步入:跨过非用户代码“System.Windows.Forms.Control.WmShowWindow”

步入:跨过非用户代码“System.Windows.Forms.NativeWindow.DebuggableCallback”

步入:跨过非用户代码“System.Windows.Forms.Control.SetVisibleCore”

步入:跨过非用户代码“System.Windows.Forms.Form.SetVisibleCore”

有人知道为什么会这样吗?

好的

我发现这个错误的主要问题

当软件自动勾选或取消勾选时,会随机触发软件中的一些事件,成为错误的原因。

4

0 回答 0