HIRO's.NET

VB.NET, C#, PowerShell Tipsサイト

 VB.NET, C#, PowerShellを使用しているエンジニアのためのサイト。

 基本的な使用方法から開発で役立つTipsまで幅広く取り扱っています。

HIRO's.NET RSSHIRO's.NET RSS


VB.NET 2003の開発でお困りのことはありませんか?
そんな悩みは当サイトで解決!!

HOME > VB.NET 2003 Tips > コントロール Tips メニュー

02.コントロールを配列で管理する

UPDATE:2004/06/11 

<< 前のTips  次のTips >>

 


 VB6ではコントロール配列がありましたが、.NETでは無くなってしまいました。フォーム上に配置されたコントロールを配列で管理するサンプルを紹介します。

手順
1)ボタンを10個管理するために、配列で宣言する
2)フォーム上の10個のボタンを配列に格納する
3)For ~ Nextで10個のボタンにイベントを登録
3-1)イベントハンドラの登録
  イベントハンドラはAddHandlerで登録します。
     AddressOfの右側に結びつけるメソッド名を記述します。
4)クリックされたボタンを特定する
 引数「sender」には、呼び出しもとのコントロールの情報が入っています。
  CType(sender,Button)とすることで、呼び出しもとのボタンのプロパティをすべて取得することができます。
 ここでは、Textプロパティを取得して、MessageBox.Showで確認しています。

 
サンプル
'1)ボタン10個分の配列を準備
Private btnArray(9) As Windows.Forms.Button

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

    Dim I As Integer

    '2)フォーム上の10個のボタンを配列に格納する
    btnArray(0) = Button1;
    btnArray(1) = Button2;
    btnArray(2) = Button3;
    btnArray(3) = Button4;
    btnArray(4) = Button5;
    btnArray(5) = Button6;
    btnArray(6) = Button7;
    btnArray(7) = Button8;
    btnArray(8) = Button9;
    btnArray(9) = Button10;

    For I = 0 To 9

        '3-1)イベントハンドラの登録
        AddHandler btnArray(I).Click, AddressOf ButtonClick

    Next

End Sub

Private Sub ButtonClick(ByVal sender As Object, ByVal e As System.EventArgs)
    '4)クリックされたボタンを特定する
    MessageBox.Show(CType(sender, Button).Text)
End Sub
 

<< 前のTips  次のTips >>