• ベストアンサー

複数のボタンを配列で扱う方法(VB.NET webアプリケーション)

VB.NETのWebアプリケーションで開発しております。 数十個のボタンの設定を、配列を使って一気に行ないたいと考えていますが 可能でしょうか? 例えば Dim i As Integer For i = 1 To 50 Button(i).Attributes.Add("style", "height:30;width:i") Next のようにやっても、できませんでした(苦笑) 現在、ボタン一個ずつ設定してるので、プログラムがかなり長くなってしまいました。 短く済む方法がありましたら、ぜひお教え下さい。 どうぞよろしくお願いいたします。

質問者が選んだベストアンサー

  • ベストアンサー
  • ARC
  • ベストアンサー率46% (643/1383)
回答No.2

コマンドボタンの名称が cmd01, cmd02,…cmd04 である場合、 Private Sub cmd01_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmd01.Click  Dim i As Long, j As Long  Dim sCtlName As String  Dim ctl As Control  For i = 1 To 4   sCtlName = "cmd" & Format(i, "00")   For Each Ctl In Me.Controls    If ctl.Name = sCtlName Then     ctl.Text = "ほげ" & i.ToString    End If   Next ctl  Next i End Sub ってな感じで、出来ます。

sasmmf
質問者

お礼

アドバイスありがとうございました! 具体的なご説明で本当に参考になりました。 ところでこれはWindowsアプリケーションでの方法だと思いますが、 Webアプリケーションではどうすればいいでしょうね? エラー部分は、ctl.Nameとctl.Textのところで出ましたが、 ctl.Nameはctl.IDでしょうか? ctl.Textのところは、コードナビゲーションで出てきた全てを試しましたが どれもうまくいきませんでした。 何度もすみませんが、もしよろしかったら、そのへんの部分もお教えいただければ幸いです。

その他の回答 (2)

  • BlueRay
  • ベストアンサー率45% (204/453)
回答No.3

過去の質問から、VB.netでコントロールの配列を扱いについての質問と回答です。参考に如何でしょうか。 http://oshiete1.goo.ne.jp/goo_search.php3?dummy=%A5%E1%A1%BC%A5%EB&MT=&TAB=&kw=vb.net+%C7%DB%CE%F3&c=0

sasmmf
質問者

お礼

ご返答いただき、ありがとうございます! いろいろと見させていただき、実験や研究をさせていただきました。 Webアプリケーションの方でもできるように、これらの情報をぜひ参考にさせていただきます。

  • MovingWalk
  • ベストアンサー率43% (2233/5098)
回答No.1

VB6のようなコントロールの配列は、VB.NETでは使えないようです。 (こちらの「コントロール配列」のところをご覧ください) http://www.microsoft.com/japan/msdn/net/vbtransitionguide/chapter5/chapter5_4.asp こちらのようにするしかないんでしょうか? http://dobon.net/vb/dotnet/control/buttonarray.html

sasmmf
質問者

お礼

ご返答ありがとうございました! かなり参考になり、いろいろと実験させていただきました。 どうもありがとうございました!

関連するQ&A