无法重新创建NullReferenceException错误

时间:2016-05-30 20:39:41

标签: vb.net

所以,我在我的代码中遇到了NullReferenceException错误。

CreatureNumber = CreatureNumberLabel.Text
If YouOrEnemyCreatureLabel.Text = "You" Then
Person = "Your"
End If
If YouOrEnemyCreatureLabel.Text = "Enemy" Then
Person = "Enemy"
End If

'The line below is giving me the error. "_" Added for convenience.
Simulator.Controls(Person & "Creature" & CreatureNumber & "NameLabel").Text = _
   CreatureNameComboBox.Text

Person和CreatureNumber都已公开宣布,我不得不放置" Simulator"因为那是包含我想要更改文本的控件的用户窗体。

现在,问题在于,当我尝试重新创建此问题时(使用2个不同的用户表单),它只是按照我的意图工作。

Number = TextBox1.Text
Form2.Controls("Label" & Number).Text = TextBox2.Text

同样,Number被公开宣布。那么为什么上面的代码运行得很好,但第一个代码是给我一个NullReferenceException错误?

1 个答案:

答案 0 :(得分:0)

我找到了自己问题的答案^〜^

事实证明,我试图编辑的控件是在第一个示例中的Panel中(给出错误的那个),但不在第二个示例中。 所以修复只是为了改变这个:

Simulator.Controls(Person & "Creature" & CreatureNumber & "NameLabel").Text =_
   CreatureNameComboBox.Text

对此:

Simulator.Panel1.Controls(Person & "Creature" & CreatureNumber & "NameLabel").Text = _
   CreatureNameComboBox.Text