回答編集履歴

2

追記

2020/09/22 10:22

投稿

gentaro
gentaro

スコア8949

test CHANGED
@@ -29,3 +29,61 @@
29
29
  }
30
30
 
31
31
  ```
32
+
33
+
34
+
35
+ ### 追記
36
+
37
+
38
+
39
+ > メインフォームのシングルトンパターンを作成し,静的クラスの共通関数からメインフォームにアクセスできないかと考えたのですが
40
+
41
+
42
+
43
+ 無意味です。
44
+
45
+ シングルトンはインスタンスが一つであることを保証するだけです。
46
+
47
+ そもそもWinFormsの標準テンプレートでメインフォームとなる画面はProgram.csの
48
+
49
+
50
+
51
+ ```csharp
52
+
53
+ Application.Run(new Form1());
54
+
55
+ ```
56
+
57
+
58
+
59
+ の部分で生成されるものが一つだけで、わざわざコンストラクタを呼び出して同じ画面のインスタンスを作成するようなプログラムでなければ、シングルトンにするまでもなく一つしかありません。
60
+
61
+
62
+
63
+
64
+
65
+ > メインフォームのボタンが13個あるので,上記URLのやり方を取り入れると,変更箇所が多いので,共通関数を作ってそれをコールしたいと考えています。
66
+
67
+
68
+
69
+ ボタンが何個あろうと、Form.Controlsプロパティにからそのフォームの子コントロールを全て取得できるので
70
+
71
+
72
+
73
+ ```csharp
74
+
75
+ foreach (Control c in this.Controls)
76
+
77
+ {
78
+
79
+ if (c is Button b)
80
+
81
+ b.Enabled = false;
82
+
83
+ }
84
+
85
+ ```
86
+
87
+
88
+
89
+ こういうコードを書けば「その画面上の全てのボタン」のプロパティは変更できます。

1

誤字

2020/09/22 10:22

投稿

gentaro
gentaro

スコア8949

test CHANGED
@@ -1,4 +1,4 @@
1
- とりあえずエラーを治したいなら
1
+ とりあえずエラーを治したいなら
2
2
 
3
3
 
4
4