質問編集履歴

3

修正

2015/11/24 07:14

投稿

fender0131
fender0131

スコア121

test CHANGED
File without changes
test CHANGED
@@ -449,3 +449,19 @@
449
449
  }
450
450
 
451
451
  }
452
+
453
+
454
+
455
+
456
+
457
+ ● 追記3 ===================================================
458
+
459
+
460
+
461
+ ズレを解消することができませんでした・・・
462
+
463
+
464
+
465
+ 何か進展がありましたら、再度ここに投稿させて頂きます。
466
+
467
+ 皆様ご協力感謝いたします。

2

更新

2015/11/24 07:14

投稿

fender0131
fender0131

スコア121

test CHANGED
File without changes
test CHANGED
@@ -271,3 +271,181 @@
271
271
 
272
272
 
273
273
  今現在、Form2のサイズは「300x300」なので右側に親フォームが見えてしまっている状態です。
274
+
275
+
276
+
277
+
278
+
279
+ 追記2===============================================
280
+
281
+
282
+
283
+ sgr-2様のプログラムソースをお借りし、実行してみました。
284
+
285
+ その結果、少しずれが生じてしまっているようです。
286
+
287
+
288
+
289
+ Tak1wa様からのコメントで、
290
+
291
+ 「余談ですがFormBorderStyleの変更後にWindowStateを変更しないと位置などちょっとずれます」
292
+
293
+ とのアドバイスを頂いており、
294
+
295
+
296
+
297
+ 「FormBorderStyle」後に、再度「this.WindowState = FormWindowState.Maximized;」で最大化を指示したのですが、
298
+
299
+ ズレが解消されませんでした。
300
+
301
+
302
+
303
+ 何が原因かわかる方いらっしゃいますでしょうか?
304
+
305
+
306
+
307
+ 何度も質問し心苦しいのですが、再度ご教授願えませんでしょうか?
308
+
309
+
310
+
311
+
312
+
313
+ ● Form1
314
+
315
+
316
+
317
+ using System;
318
+
319
+ using System.Collections.Generic;
320
+
321
+ using System.ComponentModel;
322
+
323
+ using System.Data;
324
+
325
+ using System.Drawing;
326
+
327
+ using System.Linq;
328
+
329
+ using System.Text;
330
+
331
+ using System.Threading.Tasks;
332
+
333
+ using System.Windows.Forms;
334
+
335
+
336
+
337
+ namespace test
338
+
339
+ {
340
+
341
+ public partial class Form1 : Form
342
+
343
+ {
344
+
345
+ public Form1()
346
+
347
+ {
348
+
349
+ InitializeComponent();
350
+
351
+
352
+
353
+ this.IsMdiContainer = true;
354
+
355
+ this.WindowState = FormWindowState.Maximized;
356
+
357
+
358
+
359
+ }
360
+
361
+
362
+
363
+ private void Form1_Load(object sender, EventArgs e)
364
+
365
+ {
366
+
367
+ //子フォームとするフォームを作成する
368
+
369
+ Form2 fm = new Form2();
370
+
371
+ fm.MdiParent = this;
372
+
373
+ fm.WindowState = FormWindowState.Maximized; // Form2のコンストラクタやLoadに書いても良いです
374
+
375
+ fm.FormBorderStyle = FormBorderStyle.None;
376
+
377
+ fm.Show();
378
+
379
+
380
+
381
+ }
382
+
383
+ }
384
+
385
+ }
386
+
387
+
388
+
389
+
390
+
391
+ ● Form2
392
+
393
+
394
+
395
+ using System;
396
+
397
+ using System.Collections.Generic;
398
+
399
+ using System.ComponentModel;
400
+
401
+ using System.Data;
402
+
403
+ using System.Drawing;
404
+
405
+ using System.Linq;
406
+
407
+ using System.Text;
408
+
409
+ using System.Threading.Tasks;
410
+
411
+ using System.Windows.Forms;
412
+
413
+
414
+
415
+ namespace test
416
+
417
+ {
418
+
419
+ public partial class Form2 : Form
420
+
421
+ {
422
+
423
+ public Form2()
424
+
425
+ {
426
+
427
+
428
+
429
+ InitializeComponent();
430
+
431
+ this.FormBorderStyle = FormBorderStyle.None;
432
+
433
+ //this.WindowState = FormWindowState.Maximized;
434
+
435
+ }
436
+
437
+
438
+
439
+ private void Form2_Load(object sender, EventArgs e)
440
+
441
+ {
442
+
443
+ this.FormBorderStyle = FormBorderStyle.None;
444
+
445
+ //this.WindowState = FormWindowState.Maximized;
446
+
447
+ }
448
+
449
+ }
450
+
451
+ }

1

更新

2015/11/18 08:28

投稿

fender0131
fender0131

スコア121

test CHANGED
File without changes
test CHANGED
@@ -155,3 +155,119 @@
155
155
 
156
156
 
157
157
  見づらいですが図も添付させて頂きました。
158
+
159
+
160
+
161
+
162
+
163
+
164
+
165
+ 追記1===========================================
166
+
167
+
168
+
169
+ お答えありがとうございます。
170
+
171
+ 追記させて頂きます。
172
+
173
+ 再度ご教授願えませんでしょうか?
174
+
175
+
176
+
177
+ Tak1wa様のプログラムソースを実行させて頂きました。その際の画像が以下となります。
178
+
179
+
180
+
181
+ ![イメージ説明](34164b90fcb7e960faa454cc842e0aca.gif)
182
+
183
+
184
+
185
+ 青枠のバーが出てきてしまう、又、赤枠内に表記されていないが、クリックすると最小化・最大化・閉じるのイベントが起こってしまう。
186
+
187
+ という新たな問題が発生してしまいました。
188
+
189
+
190
+
191
+
192
+
193
+
194
+
195
+ 子フォーム内を以下のようにすると、理想に近い形にはなりました。
196
+
197
+
198
+
199
+ ●子フォーム
200
+
201
+
202
+
203
+ using System;
204
+
205
+ using System.Collections.Generic;
206
+
207
+ using System.ComponentModel;
208
+
209
+ using System.Data;
210
+
211
+ using System.Drawing;
212
+
213
+ using System.Linq;
214
+
215
+ using System.Text;
216
+
217
+ using System.Threading.Tasks;
218
+
219
+ using System.Windows.Forms;
220
+
221
+
222
+
223
+ namespace test
224
+
225
+ {
226
+
227
+ public partial class Form2 : Form
228
+
229
+ {
230
+
231
+ public Form2()
232
+
233
+ {
234
+
235
+ InitializeComponent();
236
+
237
+ this.FormBorderStyle = FormBorderStyle.None;
238
+
239
+ }
240
+
241
+
242
+
243
+ private void Form2_Load(object sender, EventArgs e)
244
+
245
+ {
246
+
247
+ // this.WindowState = System.Windows.Forms.FormWindowState.Maximized;
248
+
249
+ }
250
+
251
+ }
252
+
253
+ }
254
+
255
+
256
+
257
+
258
+
259
+ ![イメージ説明](5f2492144db9a9712e27fec653e440b2.gif)
260
+
261
+
262
+
263
+
264
+
265
+ この方法で進めるとした場合、
266
+
267
+ フォームプロパティ内の「Size」の値を調節する形となると思うのですが、
268
+
269
+ 最大化した際の値はどのように取れますでしょうか?
270
+
271
+
272
+
273
+ 今現在、Form2のサイズは「300x300」なので右側に親フォームが見えてしまっている状態です。