投稿者 heaven  (社会人) 投稿日時 2010/8/18 11:10:39
初めまして、初投稿させていただきます。

現在複数のコントロールを配列にまとめて処理を行っているのですが、クラスレベルでコントロール配列を宣言して実際に実行してみると、「オブジェクト参照がオブジェクト インスタンスに設定されていません。」と出てエラーが出てしまいます。

ただし、各プロシージャー内でコントロールを配列を宣言すればエラーは起こらないのですが、大量のコントロール配列をプロシージャー毎に宣言するとコードが莫大になってしまうのでなんとか避けたいです。

クラスレベルでコントロール配列を宣言して使い回す事はできないでしょうか?


' 例: 

   Dim TextBoxs() As TextBox = {TextBox1, TextBox2, TextBox3, TextBox4, TextBox5} 'コントロール配列 


    Private Sub Form1_Load(ByVal sender As System.ObjectByVal e As System.EventArgs) Handles MyBase.Load

        For i As Integer = 0 To 4

            TextBoxs(i).Text = "ここに入力"

        Next

    End Sub



    Private Sub Button1_Click(ByVal sender As System.ObjectByVal e As System.EventArgs) Handles Button1.Click

        For i As Integer = 0 To 4

            TextBoxs(i).Text = String.Empty

        Next

    End Sub

    Private Sub Button2_Click(ByVal sender As System.ObjectByVal e As System.EventArgs) Handles Button2.Click

        Dim sum As Integer

        For i As Integer = 0 To 4

            sum += CInt(TextBoxs(i).Text)

        Next i

        TextBox6.Text = sum

    End Sub