回答編集履歴

1

追記

2016/04/11 09:29

投稿

catsforepaw
catsforepaw

スコア5938

test CHANGED
@@ -19,3 +19,91 @@
19
19
  this.MaximizedBounds = new Rectangle(this.MaximizedBounds.Location, new Size(1500, 1000));
20
20
 
21
21
  ```
22
+
23
+
24
+
25
+ ---
26
+
27
+ 追記
28
+
29
+ 下記コードで最大化時の位置とサイズの指定ができます。
30
+
31
+ ```
32
+
33
+ using System.Runtime.InteropServices;
34
+
35
+
36
+
37
+ :
38
+
39
+ :
40
+
41
+ :
42
+
43
+
44
+
45
+ private struct POINT
46
+
47
+ {
48
+
49
+ public int x;
50
+
51
+ public int y;
52
+
53
+ }
54
+
55
+
56
+
57
+ private struct MINMAXINFO
58
+
59
+ {
60
+
61
+ public POINT ptReserved;
62
+
63
+ public POINT ptMaxSize; // 最大化フォームのサイズ
64
+
65
+ public POINT ptMaxPosition; // 最大化フォームの位置
66
+
67
+ public POINT ptMinTrackSize; // フォームの最大サイズ
68
+
69
+ public POINT ptMaxTrackSize; // フォームの最小サイズ
70
+
71
+ }
72
+
73
+
74
+
75
+ private const int WM_GETMINMAXINFO = 0x0024;
76
+
77
+
78
+
79
+ protected override void WndProc(ref Message m)
80
+
81
+ {
82
+
83
+ if(m.Msg == WM_GETMINMAXINFO)
84
+
85
+ {
86
+
87
+ MINMAXINFO info = (MINMAXINFO)m.GetLParam(typeof(MINMAXINFO));
88
+
89
+ info.ptMaxPosition.x = 15;
90
+
91
+ info.ptMaxPosition.y = 10;
92
+
93
+ info.ptMaxSize.x = 1500;
94
+
95
+ info.ptMaxSize.y = 1000;
96
+
97
+ Marshal.StructureToPtr(info, m.LParam, true);
98
+
99
+ return;
100
+
101
+ }
102
+
103
+ base.WndProc(ref m);
104
+
105
+ }
106
+
107
+ ```
108
+
109
+