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

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

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

Re[1]: VB.NET コントロール配列の作成方法について


(過去ログ 90 を表示中)

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

■53801 / inTopicNo.1)  VB.NET コントロール配列の作成方法について
  
□投稿者/ D仙崎 (1回)-(2010/09/27(Mon) 16:15:08)

分類:[VB.NET/VB2005 以降] 

フォーム上に多種あるコントロールの中で、
特定のLabelコントロールの配列を作成したいです。

特定のLabel:
 LabelコントロールのTagプロパティが何かしら設定されている
 コントロールが対象です。

以下のURLを参考にさせて頂きましたが、
コントロールNameが、"コントロール+番号"の時に有効?なのかな、と
思いました。

http://jeanne.wankuma.com/tips/vb.net/control/arraycontrol.html

フォーム上に存在するLabelコントロールのNameは、
"Label1","Label2"…であったり、"lbl氏名","lbl生年月日"といった
"lbl"から始まる全角名称が設定されています。
その中で、Tagプロパティが設定されているのは "lbl"から始まるNameに
限っています。

説明不足があるかと思いますますが、ご教授のほどよろしくお願いします。

【開発環境:VB.NET 2008 Windows App】

引用返信 編集キー/
■53805 / inTopicNo.2)  Re[1]: VB.NET コントロール配列の作成方法について
□投稿者/ よねKEN (620回)-(2010/09/27(Mon) 16:42:52)
よねKEN さんの Web サイト
No53801 (D仙崎 さん) に返信
> フォーム上に多種あるコントロールの中で、
> 特定のLabelコントロールの配列を作成したいです。
>
> 特定のLabel:
>  LabelコントロールのTagプロパティが何かしら設定されている
>  コントロールが対象です。

http://bbs.wankuma.com/index.cgi?mode=al2&namber=52937&KLOG=89

No52944 でIsTargetControlメソッドの中身をTagプロパティを見て判断するように変えれば対応できます。
(コード例はC#ですが、VB2008でも同等のことを文法の書き換えだけで実現できます)

引用返信 編集キー/
■53809 / inTopicNo.3)  Re[1]: VB.NET コントロール配列の作成方法について
□投稿者/ PATIO (15回)-(2010/09/27(Mon) 17:15:36)
2010/09/27(Mon) 17:19:23 編集(投稿者)

No53801 (D仙崎 さん) に返信
>
> 以下のURLを参考にさせて頂きましたが、
> コントロールNameが、"コントロール+番号"の時に有効?なのかな、と
> 思いました。
>
> http://jeanne.wankuma.com/tips/vb.net/control/arraycontrol.html

上記以外の部分は既にレスが付いているのでそちらにお任せします。
で、リンク先のソースを見て上記のように判断されたのが良く分からないです。
別にコントロールNameが、"コントロール+番号"になっているからと言う風には
なっていないと思いますよ。
コントロールNameに関しては各コントロールのプロパティ設定部分でそのように設定していると言うだけだと思います。


リンク先のコードは、プライベートなフィールドとして作成したTextBoxの配列に対して
一つ一つをNewで生成しつつ、必要なプロパティを設定して、フォームに追加。
更にイベントハンドラの追加も行なっていると言うコードなので
コントロールNameは特に関係有りません。
これに関してはFormエディタ上でコントロールを配置してプロパティを設定する
と言うやり方ではなくて、プログラム上でコントロールを生成して配置する
と言うやり方をしているところがミソです。
このやり方だとFormエディタ上で位置の調整等が出来ないので面倒と言う話に
なります。Formエディタ上でコントロールを配置してそれに対して処理したいのであれば、
もう一捻り必要になりますね。

もっとも、御本人が書かれている内容に合わせて考えるなら
よねKENさんが書かれている方法をとった方が良いかもと言う気がします。
ただ、Form_Loadのタイミングだけではなく、変更するタイミングがちょこちょこあるなら
毎回、foreachでForm上の全コントロールを舐めるより、Loadのタイミングで配列に
コントロールの参照を入れておいた方が効率が良さそうですけどね。

引用返信 編集キー/


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

このトピックに書きこむ

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

管理者用

- Child Tree -