質問編集履歴

1

追記

2015/11/30 10:28

投稿

fender0131
fender0131

スコア121

test CHANGED
File without changes
test CHANGED
@@ -16,7 +16,7 @@
16
16
 
17
17
 
18
18
 
19
- private void SigumaFX_fm_Load(object sender, EventArgs e)
19
+ private void test_fm_Load(object sender, EventArgs e)
20
20
 
21
21
  {
22
22
 
@@ -69,3 +69,131 @@
69
69
  }
70
70
 
71
71
  }
72
+
73
+
74
+
75
+
76
+
77
+ 追記1====================================
78
+
79
+
80
+
81
+ お答え頂きありがとうございました。
82
+
83
+ 大変参考になりました。
84
+
85
+
86
+
87
+ ボタン内の文字のサイズを見て自動でボタンサイズを変えることができました。
88
+
89
+ ここでひとつ疑問が生まれました。
90
+
91
+
92
+
93
+ 今度は、一番文字サイズが大きく、一番ボタンサイズが大きかったものを基準に他のボタンのサイズを変えようとしたのですが
94
+
95
+ 上手くいきませんでした。(「あいうえお」」の文字サイズですべてのボタンを作ろうとしています。)
96
+
97
+
98
+
99
+ 以下のプログラムで実行しました。
100
+
101
+
102
+
103
+ btnArray[i].Width・btnArray[i].Height の値をうまく拾えていないような結果が出ました。
104
+
105
+ (デバックすると、width=75、Heigh=23、の値しか入ってきません)
106
+
107
+
108
+
109
+ もしよろしければ再度お答えいただけないでしょうか。
110
+
111
+
112
+
113
+ private void test_Load(object sender, EventArgs e)
114
+
115
+ {
116
+
117
+
118
+
119
+ this.MainMenuStrip = new MenuStrip();
120
+
121
+
122
+
123
+ int FontSize = 15; // ボタンフォントサイズ
124
+
125
+ var btnArrayW_Max=0;
126
+
127
+ int btnArrayH_Max=0;
128
+
129
+
130
+
131
+
132
+
133
+ for (int i = 0; i < 5; i++ )
134
+
135
+ {
136
+
137
+ btnArray[i] = new Button();
138
+
139
+ }
140
+
141
+
142
+
143
+ btnArray[0].Text = "あ";
144
+
145
+ btnArray[1].Text = "あい";
146
+
147
+ btnArray[2].Text = "あいう";
148
+
149
+ btnArray[3].Text = "あいうえ";
150
+
151
+ btnArray[4].Text = "あいうえお";
152
+
153
+
154
+
155
+ for (int i = 0; i < 5; i++)
156
+
157
+ {
158
+
159
+ btnArray[i].Location = new Point(100 * i + 10, 0);
160
+
161
+ btnArray[i].Font = new Font("Arial", FontSize);
162
+
163
+ btnArray[i].AutoSize = true;
164
+
165
+ btnArray[i].AutoSizeMode = System.Windows.Forms.AutoSizeMode.GrowAndShrink;
166
+
167
+
168
+
169
+ if (i == 4)
170
+
171
+ {
172
+
173
+ for (i = 0; i < 4; i++)
174
+
175
+ {
176
+
177
+ btnArrayW_Max = Math.Max((int)btnArray[i].Width, (int)btnArray[i + 1].Width);
178
+
179
+ btnArrayH_Max = Math.Max((int)btnArray[i].Height, (int)btnArray[i + 1].Height);
180
+
181
+ }
182
+
183
+
184
+
185
+ for (i = 0; i < 5; i++)
186
+
187
+ {
188
+
189
+ btnArray[i].Size = new System.Drawing.Size(btnArrayW_Max, btnArrayH_Max);
190
+
191
+ this.Controls.Add(btnArray[i]);
192
+
193
+ }
194
+
195
+
196
+
197
+ }
198
+
199
+ }