C# と VB.NET の質問掲示板

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト

VB.NETでコントロールの名前を指定してオブジェクトを作りだす方法?


(過去ログ 7 を表示中)

[トピック内 4 記事 (1 - 4 表示)]  << 0 >>

■7788 / inTopicNo.1)  VB.NETでコントロールの名前を指定してオブジェクトを作りだす方法?
  
□投稿者/ しゅう 二等兵(1回)-(2006/10/26(Thu) 19:04:35)

分類:[VB.NET] 


分類:[VB.NET] 

コントロールのオブジェクトを名前を指定して作り出す
方法を教えて頂きたいです。

例えば、テキストボックスとして
Text_1,Text_2,Text_3
があるとします。

すべてのテキストボックスをループ処理しようと思います。
コントロール名の語尾をインデックスで回したいので、
"Text_1"
という文字列を使用して
Text_1のオブジェクトを作り出したいのです。

よろしくお願い致します。

0
引用返信 編集キー/
■7789 / inTopicNo.2)  Re[1]: VB.NETでコントロールの名前を指定してオブジェクトを作りだす方法?
□投稿者/ 魔界の仮面弁士 少佐(196回)-(2006/10/26(Thu) 19:29:36)

分類:[VB.NET] 

No7788に返信(しゅうさんの記事)
> コントロールのオブジェクトを名前を指定して作り出す
> 方法を教えて頂きたいです。
デザイナが自動生成する TextBox1 なども、所詮はただの変数なので、
別途、管理用の Dictionary クラスなどを用意しておき、フォームの
Load イベントかコンストラクタなどで、そこに登録して使うのが良いかと。

あるいは、事前にDictionary 化しておくよりは実行効率が落ちますが、
Find メソッドを使うというのも手でしょう。
http://msdn2.microsoft.com/ja-jp/library/system.windows.forms.control.controlcollection.find.aspx

ただし、Fine メソッドは.NET 2.0 からの機能です。.NET 1.x の場合は、
Controls プロパティを For Each で再帰的に列挙する事で回避してください。


# この他には、リフレクションによって探す方法や、VB の CallByName 関数を
# Modifiers プロパティと組み合わせて使うといった手もありますが、
# これらの手法については、避けた方が良いでしょうね。

0
引用返信 編集キー/
■7796 / inTopicNo.3)  Re[2]: VB.NETでコントロールの名前を指定してオブジェクトを作りだす方法?
□投稿者/ 特攻隊長まるるう 一等兵(34回)-(2006/10/26(Thu) 21:38:04)

分類:[VB.NET] 

No7788に返信(しゅうさんの記事)
マルチに対する回答で1週しちゃってマスw
http://www2.moug.net/bbs/program/20061026000003.htm

0
引用返信 編集キー/
■7799 / inTopicNo.4)  Re[1]: VB.NETでコントロールの名前を指定してオブジェクトを作りだす方法?
□投稿者/ επιστημη 中将(260回)-(2006/10/27(Fri) 07:58:47)
επιστημη さんの Web サイト

分類:[VB.NET] 

> すべてのテキストボックスをループ処理しようと思います。

だったら 配列 TextBox() に投げ込んでおいて
For Each すればええかと。

Dim box() As TextBox = {TextBox1, TextBox2, TextBox3}
For Each control As TextBox In box
control.Text = "ほげ"
Next


0
引用返信 編集キー/


トピック内ページ移動 / << 0 >>

このトピックに書きこむ

過去ログには書き込み不可

管理者用

- Child Tree -