DOBON.NET DOBON.NETプログラミング掲示板過去ログ

ボタン配列

  • 題名: ボタン配列
  • 著者: ABC
  • 日時: 2005/08/25 15:35:53
  • ID: 12350
  • この記事の返信元:
    • (なし)
  • この記事への返信:
  • ツリーを表示
環境/言語:[windowsXP]
分類:[ASP.NET]

こんにちは。

VB.NETではできたのですが、

Inherits System.Windows.Forms.Form
'ボタンコントロール配列の作成
Me.menuButtons = New System.Windows.Forms.Button(5) {}
以下省略

ASP.NETでは実現可能なのでしょうか?
よろしくお願いします。
■No12350に返信(ABCさんの記事)
> ASP.NETでは実現可能なのでしょうか?
> よろしくお願いします。

代わりに検索してみますた。
http://www.google.co.jp/search?hl=ja&q=ASP.NET+%E3%82%B3%E3%83%B3%E3%83%88%E3%83%AD%E3%83%BC%E3%83%AB%E3%81%AE%E9%85%8D%E5%88%97
2005/08/29(Mon) 13:25:01 編集(投稿者)
2005/08/29(Mon) 13:24:40 編集(投稿者)

検索不足ですみませんでした。
そして、プログラムを作成した結果エラーが出ました。
----------------------------------
エラー内容:
型 'Button' のコントロール '_ctl0' は、runat=server を
含むフォーム タグの内側に置かなければ成りません。
-------------------------------
プログラム
Dim i As Integer
Dim testButtons(10) As System.Web.UI.WebControls.Button
For i = 0 To 9
'インスタンス作成
testButtons(i) = New System.Web.UI.WebControls.Button
testButtons(i).Text = i.ToString()
'イベントハンドラに関連付け
AddHandler testButtons(i).Click, AddressOf Me.testButtons_Click
'フォームにコントロールを追加
Me.Controls.Add(testButtons(i))
Next
です。
このプログラムはPage_Loadの中に書きました。
上のプログラムでは位置を設定してないとわかっているのですが、
ButtonのプロパティをみてもLocation(VB.NETにはあった)みたいな
ものがなかったのでどうすればいいかわかりません。
わかる方がいらっしゃいましたら教えてください。
お願いします。
Mooです。

さいごのControls.Addに問題があります。

  Me.Controls.Add(testButtons(i))

のままだと、Formタグの外側にボタンを生成しようとします。
(エラーのとおりです)
ですので、任意のプレイスホルダー(ここではPlaceHolder1)を準備して

  Me.PlaceHolder1.Controls.Add(testButtons(i))

としてそのプレイスホルダーに出力してあげましょう。

<advice>
トレースをOnにするとコントロール状態が把握しやすくなります。
是非使ってください。

■No12407に返信(ABCさんの記事)
> 2005/08/29(Mon) 13:25:01 編集(投稿者)
> 2005/08/29(Mon) 13:24:40 編集(投稿者)
> 
> 検索不足ですみませんでした。
> そして、プログラムを作成した結果エラーが出ました。
> ----------------------------------
> エラー内容:
> 型 'Button' のコントロール '_ctl0' は、runat=server を
> 含むフォーム タグの内側に置かなければ成りません。 
> -------------------------------
> プログラム
>         Dim i As Integer
>         Dim testButtons(10) As System.Web.UI.WebControls.Button
>         For i = 0 To 9
>             'インスタンス作成
>             testButtons(i) = New System.Web.UI.WebControls.Button
>             testButtons(i).Text = i.ToString()
>             'イベントハンドラに関連付け
>             AddHandler testButtons(i).Click, AddressOf Me.testButtons_Click
>             'フォームにコントロールを追加
>             Me.Controls.Add(testButtons(i))
>         Next
> です。
> このプログラムはPage_Loadの中に書きました。
> 上のプログラムでは位置を設定してないとわかっているのですが、
> ButtonのプロパティをみてもLocation(VB.NETにはあった)みたいな
> ものがなかったのでどうすればいいかわかりません。
> わかる方がいらっしゃいましたら教えてください。
> お願いします。
>
2005/08/30(Tue) 23:01:14 編集(投稿者)
2005/08/30(Tue) 23:01:07 編集(投稿者)
2005/08/29(Mon) 17:53:44 編集(投稿者)
2005/08/29(Mon) 17:37:07 編集(投稿者)

ありがとうございました。
ボタンが表示されました。

ボタンのプロパティについてなのですが、
位置設定をしたいのです。VBでいえば
Location。

知っていましたら教えてください。
解決済み!
一度クローズ(解決済み!)したんですけどリオープン(解除...)ですね

新たな問題があるならば新しく記事を書いたほうがいいですよ。
理由は、質問が埋没してしまうからです。

具体的にはどのように並べたいのですか?
■No12433に返信(Mooさんの記事)
> 一度クローズ(解決済み!)したんですけどリオープン(解除...)ですね
>
> 新たな問題があるならば新しく記事を書いたほうがいいですよ。
> 理由は、質問が埋没してしまうからです。
>
> 具体的にはどのように並べたいのですか?
ありがとうございます。
新しく質問しましたのでよろしくお願いします。
解決済み!

DOBON.NET | プログラミング道 | プログラミング掲示板