2.動的にコントロール配列を作成する(14_Ctr_02) (旧、SampleNo.293) |
1.動的にコントロール配列を作成する 2. 3. 4. 5. 6. |
下記プログラムコードに関する補足・注意事項 動作確認:Windows 8.1 (Windows 7) / VB2013 (VB2010) / Framework 4.5.1 / 対象の CPU:x86 Option :[Compare Text] [Explicit On] [Infer On] [Strict On] Imports :追加なし 参照設定:追加なし その他 : : このサンプル等の内容を無断で転載、掲載、配布する事はお断りします。(私の修正・改訂・削除等が及ばなくなるので) 必要ならリンクをはるようにして下さい。(引用の場合は引用元のリンクを明記して下さい) |
1.動的にコントロール配列を作成する |
Private Sub myButtons_Click(ByVal sender As Object, ByVal e As System.EventArgs) 'Buttonのクリックイベントハンドラー内の処理 Dim btn As Button = CType(sender, Button) MessageBox.Show(btn.Name & "がクリックされました。") Select Case btn.Name Case "Button1" MessageBox.Show("Button1 の Click イベントの処理") Case "Button2" MessageBox.Show("Button2 の Click イベントの処理") Case "Button3" MessageBox.Show("Button3 の Click イベントの処理") Case "Button4" MessageBox.Show("Button4 の Click イベントの処理") End Select End Sub Private myButtons() As System.Windows.Forms.Button Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load 'ボタンコントロール配列の作成 Me.myButtons = New System.Windows.Forms.Button(3) {} Me.SuspendLayout() 'コントロールのレイアウトロジックを一時的に中断 'クリックイベントをイベントハンドラーに関連付け For i As Integer = 0 To Me.myButtons.Count - 1 'インスタンス作成 Me.myButtons(i) = New System.Windows.Forms.Button '各プロパティ設定(必要により追加して下さい) Me.myButtons(i).Name = "Button" + (i + 1).ToString() 'Me.myButtons(i).Tag = i 'Index 番号を登録しておいてそのIndex 番号でイベントを処理する場合 Me.myButtons(i).Size = New Size(130, 26) Me.myButtons(i).Location = New Point(21, (i * 35) + 20) Me.myButtons(i).Text = Me.myButtons(i).Name 'クリックイベントをイベントハンドラーに関連付け AddHandler myButtons(i).Click, AddressOf myButtons_Click Next 'フォームにコントロールオブジェクトの配列を追加 Me.Controls.AddRange(Me.myButtons) Me.ResumeLayout(False) 'レイアウトロジックを再開 End Sub |
2. |
3. |
4. |
5. |
6. |
検索キーワード及びサンプルコードの別名(機能名) |