|
分類:[VB.NET/VB2005 以降]
こんにちは、以下の現象で悩んでいます。
フォームの上にラベルを2つとボタン1つを貼り付けます、名前はデフォルトのままです。
次のコードを書きます。
Private Function Label(ByVal index As Integer) As Label
Return DirectCast(Me.Controls("Label" & index.ToString), Label)
End Function
Private Sub Button1_Click(ByVal sender As System.Object, _
ByVal e As System.EventArgs) Handles Button1.Click
Label1.Text = Label(2).Text
End Sub
ボタンを押すと、正常に実行されてLabel1のテキストは『Label2』と変わります。
今度はコードは変えずに、フォームの上にGroupBoxを一つ置いて、その上に
2つのLabelを置きます。
ボタンを押すと
Label1.Text = Label(2).Text
の所で『NullReferenceException』のエラーが発生します。
これはGroupBoxだけではなくPanelやTabControlなどのコンテナに
載せても同じエラーになります。
ILが読めれば何とかなるのですがあいにく読めません。^^;
「なぜこんなコードを書くのだ」と言うことではなく、なぜエラーになるのだろう
と言うことを知りたいと思います。
よろしく。
|