Visual Basic .NET 2003でフォームから配下の全てのコントロールを取得する方法を教えて下さい。取得したコントロールについてはそれぞれのタイプ(ComboBox, TextBox, CheckBox等)毎の固有のメソッド・プロパティを利用したいです。

回答の条件
  • URL必須
  • 1人2回まで
  • 登録:2005/01/18 19:52:09
  • 終了:--

回答(6件)

id:CaT No.1

CaT回答回数183ベストアンサー獲得回数02005/01/25 15:24:25

ポイント10pt

http://www.sia.go.jp/

社会保険庁

id:taknt No.2

きゃづみぃ回答回数13539ベストアンサー獲得回数11982005/01/18 19:54:42

ポイント34pt

http://www.atmarkit.co.jp/fdotnet/dotnettips/224controls/control...

@IT:.NET TIPS Windowsフォーム上のすべてのコントロールを列挙するには? - C# VB.NET

こちらは いかがでしょうか?

id:akunaki

情報有り難う御座います。コントロールの取得まではわかりました。このあと、それぞれのコントロールのタイプ毎に固有のメソッドを発行したいのですが、それにはControlオブジェクトを各コントロール型にキャスト代入してメソッドを呼び出すしかないのでしょうか?

2005/01/19 08:42:09
id:oppeke05 No.3

oppeke05回答回数139ベストアンサー獲得回数02005/01/18 19:56:11

ポイント34pt

すみません自分はVBはかじったことしかないのでわからないのですが、このサイトではわかるかもしれません。

id:akunaki

情報有り難う御座います。

2005/01/19 08:42:19
id:zizz_walla No.4

zizz_walla回答回数121ベストアンサー獲得回数02005/01/18 23:42:22

ポイント34pt

http://www.microsoft.com/japan/msdn/library/default.asp?url=/jap...

ご指定のページが見つかりません

FormオブジェクトのControlsプロパティでsystem.Windows.Forms.Control.ControlCollectionが取れます。フォーム内にPanel や GroupBoxがある場合は、再帰的に処理する必要があります。

http://www.microsoft.com/japan/msdn/library/default.asp?url=/jap...

ご指定のページが見つかりません

にサンプルがありますので、参考にしてください。

http://www.microsoft.com/japan/msdn/library/default.asp?url=/jap...

ご指定のページが見つかりません

Controlsプロパティで、配下のControl クラスのコレクションが取得できますので、これのGetType().FullNameでクラス名が取得できますので、クラス名に応じた処理を分岐させてやればよいと思います。

id:akunaki

実際の固有メソッド・プロパティの使い方についてVBではどう記述するのか詳細はわかりませんでしょうか。

2005/01/19 08:44:14
id:taknt No.5

きゃづみぃ回答回数13539ベストアンサー獲得回数11982005/01/19 09:32:49

ポイント34pt

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

Dim all As Control() = GetAllControls(Me)

For Each c As Control In all

Console.WriteLine(c.Name)

Next

End Sub

この c.Name が 希望のものの時に c.〜〜〜として 使えばいいでしょう。

VB6では

form1.Controls(”text1”).Top = 100

こういう使い方しているけど

.NETでは 使えるのかな?

で 調べてたら

>VB6では

>ctrl = Form1.Controls(”hogeButton”)

>でコントロールが取得できたんだが

>.NETではインデックスを使えと書いてある

>どうしても明示的に名前を指定したい場合ってどうすればいいんでしょうか・・・?

というのがあった。

インデックスじゃないとダメなのかな?

id:akunaki

情報有り難う御座います。

2005/01/19 10:40:36
id:zizz_walla No.6

zizz_walla回答回数121ベストアンサー獲得回数02005/01/19 10:23:41

ポイント34pt

>実際の固有メソッド・プロパティの使い方についてVBではどう記述するのか詳細はわかりませんでしょうか。

明示的に型変換してやる必要があります。

中程の FOX さんのサンプルがわかりやすいと思います。

id:akunaki

キャストの方法よくわかりました。

情報有り難う御座います。

2005/01/19 10:41:32

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません