teratail header banner
teratail header banner
質問するログイン新規登録

回答編集履歴

1

追記追加

2016/11/24 01:54

投稿

退会済みユーザー
answer CHANGED
@@ -16,4 +16,54 @@
16
16
 
17
17
  例えば、noricyan2 さんのコード例で「Name」に代えて CommandName を使用されていますが、参考にされている記事の「Name」の使い方のようにどのボタンがクリックされたかを識別する目的ということであれば利用できます。
18
18
 
19
- 「Top」は代替になるようなプロパティもありません。CSS という全く別の手段を使います。大雑把な位置でいいのであれば、デザイン画面で Panel または PlaceHolder を適当な場所に配置し、Button は動的にその中に配置するという手段が使えます。
19
+ 「Top」は代替になるようなプロパティもありません。CSS という全く別の手段を使います。大雑把な位置でいいのであれば、デザイン画面で Panel または PlaceHolder を適当な場所に配置し、Button は動的にその中に配置するという手段が使えます。
20
+
21
+ *******************【2016/11/24 10:55 追記】*******************
22
+
23
+ 私の 2016/11/24 10:20 のコメントで「別途回答欄に追記します」と書きましたが、それを以下に書きます。
24
+
25
+ まず、上の私の回答で、
26
+
27
+ > 大雑把な位置でいいのであれば、デザイン画面で Panel または PlaceHolder を適当な場所に配置し、Button は動的にその中に配置するという手段が使えます。
28
+
29
+ と書いた意味ですが、たとえば以下のような .aspx ページで、「該当する Button をクリックしてください」と「使い方の説明・・・」の間に Button を動的に配置する場合を考えてください。
30
+
31
+ ```
32
+ <body>
33
+ <form id="form1" runat="server">
34
+ <h1>Button の動的配置</h1>
35
+ <p>該当する Button をクリックしてください</p>
36
+ <p>使い方の説明・・・</p>
37
+ </form>
38
+ </body>
39
+ ```
40
+
41
+ this.Form.Controls.Add(this.buttons[i]); ではページの一番最後に Button が追加されるので NG です。
42
+
43
+ なので、Panel を以下のように配置して、それに this.Panel1.Controls.Add(this.buttons[i]); で追加するということを言っています。
44
+
45
+ ```
46
+ <body>
47
+ <form id="form1" runat="server">
48
+ <h1>Button の動的配置</h1>
49
+ <p>該当する Button をクリックしてください</p>
50
+ <asp:Panel ID="Panel1" runat="server">
51
+ </asp:Panel>
52
+ <p>使い方の説明・・・</p>
53
+ </form>
54
+ </body>
55
+ ```
56
+
57
+ 「デザイン画面で」と書いたのは初学者の方には「ソース」画面で操作するより「デザイン」画面でツールボックスからドラッグ&ドロップした方が分かりやすいと思ったからで、「ソース」画面でもドラッグ&ドロップはできます。
58
+
59
+ ということで、上の話は質問者さんのやりたいこと、
60
+
61
+ > acの方でtextファイルから読み込んだ数字の数だけ・・・
62
+
63
+ とは直接関係ないのは理解いただけるでしょうか?
64
+
65
+ ただ、「acの方でtextファイルから読み込んだ数字」で Button の配列を作ってというのは自分としてはピンと来ません。
66
+
67
+ Text ファイル等の情報で表のようなものを作り、それの各行に Button を追加し、ユーザーに選択させるというようなことをやりたいのではないかと思いますが、もしその想像が当たっているなら自分なら「Button の配列を作って・・・」というやり方はしません。
68
+
69
+ もしそのあたりの話をするのがご希望であれば、新たに別のスレッドを立てて、質問してください。