
No.2ベストアンサー
- 回答日時:
実は、コントロール配列はデザイン時には作成できませんが、動的に(プログラムから)作成することは可能です。
以下ご参考
ラベルですが Form_Loadなどで下記のようにすれば、配列にして作成することが可能です
'ラベルの配列を作成する
Private MyLabels() As System.Windows.Forms.Label
Private Sub Form_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles MyBase,Load
MyLabels = New System.Windows.Forms.Label(99) {}
For I As Integer = 0 To MyLabels.Length - 1
'Nameプロパティの設定
MyLabels(I).Name = "Label" + I.ToString()
'Textプロパティの設定
MyLabels(I).Text = LoadResString(I)
'Labelサイズの設定
MyLabels(I).Size = New Size(20, 10)
'配置場所の設定
MyLabels(i).Location = New Point(自分の配置したいX, 自分の配置したいY)
Next
'作成したコントロールをフォームに配置する
Me.Controls.AddRange(MyLabels)
End Sub
No.1
- 回答日時:
VB2005には(というより.NETからは)コントロール配列はなくなりました。
かわりにイベントを共通して使用することが可能です。
たとえば、フォーム上にButton1、Button2の2つに対して共通のクリックイベントを使用する場合は
1)2つのボタンを選択状態にする
2)プロパティウィンドウのところのカミナリマークボタンを押す
3)Clickイベントのところをダブルクリックする
すると下記のようなコードが自動作成されると思います
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click, Button2.Click
End Sub
Handlesの後ろにButton1.Click、Button2.Clickがありますが、主導で追加することも可能です。
で、どのボタンが押されたかを判断するには、引数のsenderを使用します。
senderはイベント発生元情報が入っていると考えればよいでしょう。
senderはオブジェクト方なのでDirectCastを使ってButton型に変換しNameプロパティを取得すれば、どのボタンが押されたか判断することが出来ます。
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click, Button2.Click
MessageBox.Show(DirectCast(sender, Button).Name & "がクリックされました")
End Sub
この回答への補足
HIROs-NET様、早速の回答ありがとうございます。これから試してみます。それとラベルの件ですが、VB6で作成中の時、Label(0)~Label(100)を作成し、For ~ Next 文で文字を代入していましたが、VB2005でも可能でしょうか?
For i = 0 to 100
Label(i) = LoadResString(i)
Next i
すみませんが、こちらもご教授頂きたいのですが。
よろしくお願いします。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- プリンタ・スキャナー Wordで作った宛名ラベルを印刷しようと思って、プリンターの上のところにある、手差しトレイ的なところ 3 2022/11/17 18:40
- Excel(エクセル) エクセルの散布図で新たに入力した値のデータラベルが空欄になる現象 1 2022/04/26 09:31
- その他(買い物・ショッピング) 商品にラベルを貼って出荷するまでのの手順にについて 2 2022/09/29 15:26
- Amazon AmazonセラーのFBAについて。 Amazonセラーの物販初心者なのですが、3つほど教えて頂きた 1 2022/12/27 10:25
- Visual Basic(VBA) VB DataGridViewについて 3 2022/06/08 17:20
- BTOパソコン デスクトップ電源ユニットAC230Vから115Vへの変換 4 2022/05/12 01:11
- お酒・アルコール 【アルコール類のセラー関係者さんに質問です】赤ワインを買おうとしたら、ネットで検索してもそんなラベル 1 2022/06/19 21:30
- Excel(エクセル) 【Excel】指定のセル内容を基に別シートのセルを検索して選択する【VBA】 1 2022/06/16 16:16
- Excel(エクセル) INDEX関数とMATCH関数を使用し値を返す数式についてです 2 2022/04/20 13:40
- その他(買い物・ショッピング) JANコードの登録について 1 2022/07/23 14:19
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
IF関数でEmpty値を設定する方法。
-
動的配列が存在(要素が有る)か...
-
VBAで配列の計算
-
VB.net 引数で配列変数を渡す際...
-
EXCEL VBA で、0から?1から?
-
配列の要素数を超えた参照のコ...
-
Excel VBAで配列の途中から(X)M...
-
C言語 重複しない4ケタの乱数...
-
マップチップの当たり判定の出し方
-
VB2005 ラベル(ボタン)をコント...
-
ジャグ配列とは
-
VBでbyte配列型のインスタンス...
-
変数を動的に作るには?
-
10進数を4桁のバイト配列に格納...
-
int型配列の一括初期化
-
VBで作った乱数を一度も重複さ...
-
エクセル:バグという名の仕様?
-
C言語のread関数に関するファイ...
-
C# 配列のスタックは可能でしょ...
-
遅延バインディングを使用でき...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
動的配列が存在(要素が有る)か...
-
IF関数でEmpty値を設定する方法。
-
パソコンキーボードで時分秒を...
-
EXCEL VBA で、0から?1から?
-
VBAで配列の計算
-
C言語 重複しない4ケタの乱数...
-
VB.net 引数で配列変数を渡す際...
-
変数を動的に作るには?
-
C#の質問
-
VBでbyte配列型のインスタンス...
-
VBで作った乱数を一度も重複さ...
-
javaプログラムについて
-
配列の要素数を超えた参照のコ...
-
For文と配列
-
複数のテキストボックスに同じ...
-
Excel VBAで配列の途中から(X)M...
-
ラジオボタンのチェックをEnter...
-
遅延バインディングを使用でき...
-
ジャグ配列とは
-
int型配列の一括初期化
おすすめ情報