- ベストアンサー
複数のボタンを配列で扱う方法(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 のようにやっても、できませんでした(苦笑) 現在、ボタン一個ずつ設定してるので、プログラムがかなり長くなってしまいました。 短く済む方法がありましたら、ぜひお教え下さい。 どうぞよろしくお願いいたします。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
コマンドボタンの名称が 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 ってな感じで、出来ます。
その他の回答 (2)
- BlueRay
- ベストアンサー率45% (204/453)
過去の質問から、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
お礼
ご返答いただき、ありがとうございます! いろいろと見させていただき、実験や研究をさせていただきました。 Webアプリケーションの方でもできるように、これらの情報をぜひ参考にさせていただきます。
- MovingWalk
- ベストアンサー率43% (2233/5098)
VB6のようなコントロールの配列は、VB.NETでは使えないようです。 (こちらの「コントロール配列」のところをご覧ください) http://www.microsoft.com/japan/msdn/net/vbtransitionguide/chapter5/chapter5_4.asp こちらのようにするしかないんでしょうか? http://dobon.net/vb/dotnet/control/buttonarray.html
お礼
ご返答ありがとうございました! かなり参考になり、いろいろと実験させていただきました。 どうもありがとうございました!
お礼
アドバイスありがとうございました! 具体的なご説明で本当に参考になりました。 ところでこれはWindowsアプリケーションでの方法だと思いますが、 Webアプリケーションではどうすればいいでしょうね? エラー部分は、ctl.Nameとctl.Textのところで出ましたが、 ctl.Nameはctl.IDでしょうか? ctl.Textのところは、コードナビゲーションで出てきた全てを試しましたが どれもうまくいきませんでした。 何度もすみませんが、もしよろしかったら、そのへんの部分もお教えいただければ幸いです。