各ボタンは配列等で管理せず名前を付けておきたいってことなんだと解釈し、3パターン考えましたがどれもパッとしませんね。
案1 一時的に配列に入れてforeach
cs
1Button btnStart = new Button();
2btnStart.Text = "スタート";
3btnStart.Location = new Point(10, 10);
4
5Button btnNext = new Button();
6btnNext.Text = "次へ";
7btnNext.Location = new Point(50, 50);
8
9Button btnClose = new Button();
10btnClose.Text = "閉じる";
11btnClose.Location = new Point(100, 10);
12
13Button[] buttons = { btnStart, btnNext, btnClose };
14foreach(Button b in buttons)
15{
16 b.Size = new Size(100, 20);
17 Controls.Add(b);
18}
案2 Controlsから探してforeach
cs
1Button btnStart = new Button();
2btnStart.Text = "スタート";
3btnStart.Location = new Point(10, 10);
4Controls.Add(btnStart);
5
6Button btnNext = new Button();
7btnNext.Text = "次へ";
8btnNext.Location = new Point(50, 50);
9Controls.Add(btnNext);
10
11Button btnClose = new Button();
12btnClose.Text = "閉じる";
13btnClose.Location = new Point(100, 10);
14Controls.Add(btnClose);
15
16foreach(Button b in Controls.OfType<Button>())
17{
18 b.Size = new Size(100, 20);
19}
案3 継承
cs
1Button btnStart = new MyButton("スタート", new Point(10, 10));
2Controls.Add(btnStart);
3
4Button btnNext = new MyButton("次へ", new Point(50, 50));
5Controls.Add(btnNext);
6
7Button btnClose = new MyButton("閉じる", new Point(100, 10));
8Controls.Add(btnClose);
9
10
11class MyButton : Button
12{
13 public MyButton(string text, Point location)
14 {
15 Text = text;
16 Location = location;
17 Size = new Size(100, 20);
18 }
19}
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2019/12/10 09:40