NullReferenceException was unhandled - VBNET


Dim graph As Graphics = Nothing
Dim frmleft As System.Drawing.Point = Me.Bounds.Location
Dim bmp As New Bitmap(Me.Bounds.Width + 8, Me.Bounds.Height + 8)
graph = Graphics.FromImage(bmp)
Dim screenx As Integer = frmleft.X
Dim screeny As Integer = frmleft.Y
graph.CopyFromScreen(screenx - 5, screeny - 5, 0, 0, bmp.Size)
PictureBox3.BackgroundImageLayout = ImageLayout.Stretch
PictureBox3.BackgroundImage = bmp

If SaveFileDialog1.ShowDialog() = DialogResult.OK Then
PictureBox3.Image.Save(SaveFileDialog1.FileName, System.Drawing.Imaging.ImageFormat.Jpeg)   'Error Here!!!!!!'
End If
End Sub

此代码用于屏幕截图并同时保存。该程序确实截屏了所述形式,但保存部分是错误所在。

这个现有的问答被标记为vb.net,它没有帮助吗?

什么是 NullReferenceException,我该如何解决它?

调试

如何找到 NullReferenceException 的来源?除了查看异常本身(该异常将恰好在异常发生的位置引发)之外,Visual Studio 中的调试的一般规则也适用:放置策略断点并检查变量,方法是将鼠标悬停在变量的名称上、打开(快速)监视窗口或使用各种调试面板(如"局部变量"和"自动变量")。

如果要找出引用的设置位置,请右键单击其名称并选择"查找所有引用"。然后,可以在每个找到的位置放置断点,并在附加调试器的情况下运行程序。每次调试器在此类断点上中断时,都需要确定是否希望引用为非 null,检查变量并验证它是否指向预期时指向实例。

通过以这种方式遵循程序流,您可以找到实例不应为 null 的位置,以及未正确设置实例的原因。

我发现这些说明与语言无关。

相关内容

最新更新