我在尝试调试表单时遇到此错误,我无法看到错误在哪里(也没有突出显示在哪里),有人有什么建议吗?
创建表单时出错。 请参阅Exception.InnerException 细节。错误是:对象 引用未设置为的实例 对象
Dim dateCrap As String = "Date:"
Dim IPcrap As String = "Ip:"
Dim pcCrap As String = "Computer:"
Dim programCrap As String = "Program:"
Dim textz As String
Dim sep() As String = {vbNewLine & vbNewLine}
Dim sections() As String = Text.Split(sep, StringSplitOptions.None)
Dim NewArray() As String = TextBox1.Text.Split(vbNewLine)
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
textz = TextBox1.Text
End Sub
答案 0 :(得分:4)
错误在于:
Dim textz As String = TextBox1.Text
在这里:
Dim NewArray() As String = TextBox1.Text.Split(vbNewLine)
可能在这里:
Dim sections() As String = Text.Split(sep, StringSplitOptions.None)
你无法初始化这样的成员,因为这段代码基本上是在构造函数中执行的,在 TextBox1
(或任何其他控件/属性)初始化之前,因此它是{{1 }}
将所有引用控件的初始化放在Nothing
事件中 - 这就是它的用途。
答案 1 :(得分:3)
在“选项>常规”标签的调试部分下关闭“仅我的代码”。这将显示确切错误的来源。
答案 2 :(得分:0)
我有相同的症状 - 甚至无法开始调试,因为错误出现在我的任何代码开始运行之前。最终将其追踪到resize事件处理程序:
Private Sub frmMain_Resize(sender As Object,e As System.EventArgs)处理Me.Resize
ArrangeForm()
End Sub
一旦我删除了处理程序,错误就消失了。奇怪的是它已经运行了大约3周(当我开发代码的其他部分时)没有任何问题,并且只是自发地停止工作。 ResizeEnd事件处理程序没有引起任何问题。
只是发布这个以防万一其他人不幸遇到同样的问题。我花了8个小时跟踪它。