创建表单时出错。有关详细信息,请参阅Exception.InnerException。错误是:对象引用未设置为对象的实例

时间:2010-05-19 15:17:29

标签: vb.net forms object instance

我在尝试调试表单时遇到此错误,我无法看到错误在哪里(也没有突出显示在哪里),有人有什么建议吗?

  

创建表单时出错。   请参阅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

3 个答案:

答案 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个小时跟踪它。