Form上のすべてのコントロール名の取得 への返答
投稿で使用できる特殊コードの説明。(別タブで開きます。)
以下の返答は逆順(新しい順)に並んでいます。
投稿者 初心者  (社会人)
投稿日時
2010/1/28 03:16:31
できたコードです。
For Each ctrl As Control In Me.Controls 'フォーム上のすべてのコントロールを取得
If TypeOf ctrl Is Label Then 'ラベルのみをフィルタにかける
Label1.Text = Label1.Text & " " & ctrl.Name 'ラベル名を表示
End If
Next
こんな感じです。
For Each ctrl As Control In Me.Controls 'フォーム上のすべてのコントロールを取得
If TypeOf ctrl Is Label Then 'ラベルのみをフィルタにかける
Label1.Text = Label1.Text & " " & ctrl.Name 'ラベル名を表示
End If
Next
こんな感じです。
投稿者 ぽん太  (小学生)
投稿日時
2010/1/28 02:46:32
できたコードを見せて。
投稿者 初心者  (社会人)
投稿日時
2010/1/27 20:49:55
できましたーーーー!
Yuoさん、ありがとうございました。
Yuoさん、ありがとうございました。
投稿者 YuO  (社会人)
投稿日時
2010/1/27 19:40:02
Form,というかControlのControlsプロパティから取得したControlCollectionに,そのコントロールの直接の子コントロールが含まれます。
MSDN: Control.Controls プロパティ (System.Windows.Forms)
http://msdn.microsoft.com/ja-jp/library/system.windows.forms.control.controls.aspx
なので,For Each等で走査することによって,Control.Nameを取得する事ができます。
子ではなく子孫であるならば,出てきたControlのControlsに対して再帰的に走査する事で,子孫まで調べる事ができます。
MSDN: Control.Controls プロパティ (System.Windows.Forms)
http://msdn.microsoft.com/ja-jp/library/system.windows.forms.control.controls.aspx
なので,For Each等で走査することによって,Control.Nameを取得する事ができます。
子ではなく子孫であるならば,出てきたControlのControlsに対して再帰的に走査する事で,子孫まで調べる事ができます。
投稿者 初心者です  (社会人)
投稿日時
2010/1/27 19:30:31
こんにちは。VB2008を使っていますが、Form上のすべてのコントロール名(ラベル名やボタン名)の取得したいのですが手も足も出ません。だれかたすけてーーー
コードをたくさん書くことが肝要です。
ガンバロ ☆_☆