.net 控制查询在DotNet中不正确

.net 控制查询在DotNet中不正确,.net,winforms,multithreading,invoke,.net,Winforms,Multithreading,Invoke,请帮助,我收到一个错误“无法调用,因为对象什么都不是”。但我添加了一个查询,询问object是否为nothing。visualstudio仍在例行工作中 Private WithEvents frm As frmFullScreen Private Sub UpdateImageInGuiAsync(ByVal bm As System.Drawing.Bitmap) If Me.frm.InvokeRequired = True Then Dim

请帮助,我收到一个错误“无法调用,因为对象什么都不是”。但我添加了一个查询,询问object是否为nothing。visualstudio仍在例行工作中

Private WithEvents frm As frmFullScreen

 Private Sub UpdateImageInGuiAsync(ByVal bm As System.Drawing.Bitmap)


        If Me.frm.InvokeRequired = True Then
            Dim dl As New BitmapDelegate(AddressOf UpdateImageInGuiGuiThread)
            If Me.frm IsNot Nothing Then Me.frm.Invoke(dl, bm)
        Else
            Call Me.UpdateImageInGuiGuiThread(bm)
        End If

    End Sub

你知道怎么解决这个问题吗


关于

您的表单是否可能正在处理


如果是这样的话,我就用try/catch来包装整个If块。

什么是
frm
?在哪里申报?你如何初始化它?代码在哪个潜艇上出错?从何处调用sub?frm是System.Windows.Forms.Form(没有任何内容)。frm=新表格1。该子对象称为UpdateImage(位图)。它是从父级调用的。何时调用?从
Form1
表单退出后,该方法每隔1秒调用一次。但是用户可以关闭
frm
,在下一次调用时,该方法应与下一个输入图像一起退出。但是调试器没有显示正确的信息,或者没有计算,甚至我需要添加一些东西来捕捉这个错误。我自己会说这是一个异常的实例,只是处理它。