所以,我在我的代码中遇到了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错误?
答案 0 :(得分:0)
我找到了自己问题的答案^〜^
事实证明,我试图编辑的控件是在第一个示例中的Panel中(给出错误的那个),但不在第二个示例中。 所以修复只是为了改变这个:
Simulator.Controls(Person & "Creature" & CreatureNumber & "NameLabel").Text =_
CreatureNameComboBox.Text
对此:
Simulator.Panel1.Controls(Person & "Creature" & CreatureNumber & "NameLabel").Text = _
CreatureNameComboBox.Text