啥也不会的乘序猿 2024-03-12 19:28 采纳率: 21.4%
浏览 6
已结题

vb.net的CheckListedBox控件得ItemCheck事件

在CheckedListBox控件得ItemCheck事件中做了移除所有内容的操作,但是当事件执行完以后,程序就报异常,显示“对象引用未设置为对象实例”。

  • 写回答

4条回答 默认 最新

  • 丨Haruna 2024-03-13 14:55
    关注

    你需要异步执行删除操作,不然ItemCheck事件处理时Items变化会导致找不到正确的对象。

    
        Private Sub CheckedListBox1_ItemCheck(sender As Object, e As ItemCheckEventArgs) Handles CheckedListBox1.ItemCheck
    
            Dim itemlist As Object() = New Object(CheckedListBox1.Items.Count) {}
            CheckedListBox1.Items.CopyTo(itemlist, 0)
    
            CheckedListBox1.BeginInvoke(New MethodInvoker(Sub()
                                                              For Each item In itemlist
                                                                  CheckedListBox1.Items.Remove(item)
                                                              Next
                                                          End Sub))
        End Sub
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(3条)

报告相同问题?

问题事件

  • 系统已结题 3月21日
  • 已采纳回答 3月13日
  • 创建了问题 3月12日

悬赏问题

  • ¥30 关于#测试工具#的问题:测试ai翻唱
  • ¥15 浮窗和全屏应用同时存在,全屏应用输入法无法弹出
  • ¥100 matlab2009 32位一直初始化
  • ¥15 Expected type 'str | PathLike[str]…… bytes' instead
  • ¥15 为什么在iis上部署网站,服务器可以访问,但是本地电脑访问不了
  • ¥15 三极管电路求解,已知电阻电压和三级关放大倍数
  • ¥15 ADS时域 连续相位观察方法
  • ¥15 Opencv配置出错
  • ¥15 关于模型导入UNITY的.FBX: Check external application preferences.警告。
  • ¥15 气象网格数据与卫星轨道数据如何匹配