2 // FormTest.cs: Test cases for Form.
5 // Ritvik Mayank (mritvik@novell.com)
7 // (C) 2005 Novell, Inc. (http://www.novell.com)
11 using System.ComponentModel;
13 using System.Reflection;
14 using System.Windows.Forms;
16 using NUnit.Framework;
18 using CategoryAttribute = NUnit.Framework.CategoryAttribute;
20 namespace MonoTests.System.Windows.Forms
27 public void FormStartupPositionChangeTest ()
29 using (Form frm = new Form ())
31 frm.ShowInTaskbar = false;
32 frm.StartPosition = FormStartPosition.Manual;
33 frm.Location = new Point (0, 0);
36 // On X there seem to be pending messages in the queue aren't processed
37 // before Show returns, so process them. Otherwise the Location returns
38 // something like (5,23)
39 Application.DoEvents ();
41 Assert.AreEqual ("{X=0,Y=0}", frm.Location.ToString (), "#01");
43 frm.StartPosition = FormStartPosition.CenterParent;
44 Assert.AreEqual ("{X=0,Y=0}", frm.Location.ToString (), "#02");
46 frm.StartPosition = FormStartPosition.CenterScreen;
47 Assert.AreEqual ("{X=0,Y=0}", frm.Location.ToString (), "#03");
49 frm.StartPosition = FormStartPosition.Manual;
50 Assert.AreEqual ("{X=0,Y=0}", frm.Location.ToString (), "#04");
52 frm.StartPosition = FormStartPosition.WindowsDefaultBounds;
53 Assert.AreEqual ("{X=0,Y=0}", frm.Location.ToString (), "#05");
55 frm.StartPosition = FormStartPosition.WindowsDefaultLocation;
56 Assert.AreEqual ("{X=0,Y=0}", frm.Location.ToString (), "#06");
61 public void FormStartupPositionTest ()
65 using (Form frm = new Form ())
67 cp = TestHelper.GetCreateParams (frm);
68 Assert.AreEqual (FormStartPosition.WindowsDefaultLocation, frm.StartPosition, "$01");
69 Assert.AreEqual (new Point (int.MinValue, int.MinValue).ToString (), new Point (cp.X, cp.Y).ToString (), "#01");
71 frm.StartPosition = FormStartPosition.CenterParent;
72 cp = TestHelper.GetCreateParams (frm);
73 Assert.AreEqual (FormStartPosition.CenterParent, frm.StartPosition, "$01");
74 Assert.AreEqual (new Point (int.MinValue, int.MinValue).ToString (), new Point (cp.X, cp.Y).ToString (), "#02");
76 frm.StartPosition = FormStartPosition.CenterScreen;
77 cp = TestHelper.GetCreateParams (frm);
78 Assert.AreEqual (FormStartPosition.CenterScreen, frm.StartPosition, "$01");
79 Assert.AreEqual (new Point (Screen.PrimaryScreen.WorkingArea.Width / 2 - frm.Width / 2, Screen.PrimaryScreen.WorkingArea.Height / 2 - frm.Height / 2).ToString (), new Point (cp.X, cp.Y).ToString (), "#03");
81 frm.StartPosition = FormStartPosition.Manual;
82 cp = TestHelper.GetCreateParams (frm);
83 Assert.AreEqual (FormStartPosition.Manual, frm.StartPosition, "$01");
84 Assert.AreEqual (new Point (0, 0).ToString (), new Point (cp.X, cp.Y).ToString (), "#04");
86 frm.StartPosition = FormStartPosition.WindowsDefaultBounds;
87 cp = TestHelper.GetCreateParams (frm);
88 Assert.AreEqual (FormStartPosition.WindowsDefaultBounds, frm.StartPosition, "$01");
89 Assert.AreEqual (new Point (int.MinValue, int.MinValue).ToString (), new Point (cp.X, cp.Y).ToString (), "#05");
91 frm.StartPosition = FormStartPosition.WindowsDefaultLocation;
92 cp = TestHelper.GetCreateParams (frm);
93 Assert.AreEqual (FormStartPosition.WindowsDefaultLocation, frm.StartPosition, "$01");
94 Assert.AreEqual (new Point (int.MinValue, int.MinValue).ToString (), new Point (cp.X, cp.Y).ToString (), "#06");
99 using (Form frm = new Form ()) {
100 frm.Location = new Point (23, 45);
102 cp = TestHelper.GetCreateParams (frm);
103 Assert.AreEqual (FormStartPosition.WindowsDefaultLocation, frm.StartPosition, "$A1");
104 Assert.AreEqual (new Point (int.MinValue, int.MinValue).ToString (), new Point (cp.X, cp.Y).ToString (), "#A1");
106 frm.StartPosition = FormStartPosition.CenterParent;
107 cp = TestHelper.GetCreateParams (frm);
108 Assert.AreEqual (FormStartPosition.CenterParent, frm.StartPosition, "$A2");
109 Assert.AreEqual (new Point (int.MinValue, int.MinValue).ToString (), new Point (cp.X, cp.Y).ToString (), "#A2");
111 frm.StartPosition = FormStartPosition.CenterScreen;
112 cp = TestHelper.GetCreateParams (frm);
113 Assert.AreEqual (FormStartPosition.CenterScreen, frm.StartPosition, "$A3");
114 Assert.AreEqual (new Point (Screen.PrimaryScreen.WorkingArea.Width / 2 - frm.Width / 2, Screen.PrimaryScreen.WorkingArea.Height / 2 - frm.Height / 2).ToString (), new Point (cp.X, cp.Y).ToString (), "#A3");
116 frm.StartPosition = FormStartPosition.Manual;
117 cp = TestHelper.GetCreateParams (frm);
118 Assert.AreEqual (FormStartPosition.Manual, frm.StartPosition, "$A4");
119 Assert.AreEqual (new Point (23, 45).ToString (), new Point (cp.X, cp.Y).ToString (), "#A4");
121 frm.StartPosition = FormStartPosition.WindowsDefaultBounds;
122 cp = TestHelper.GetCreateParams (frm);
123 Assert.AreEqual (FormStartPosition.WindowsDefaultBounds, frm.StartPosition, "$A5");
124 Assert.AreEqual (new Point (int.MinValue, int.MinValue).ToString (), new Point (cp.X, cp.Y).ToString (), "#A5");
126 frm.StartPosition = FormStartPosition.WindowsDefaultLocation;
127 cp = TestHelper.GetCreateParams (frm);
128 Assert.AreEqual (FormStartPosition.WindowsDefaultLocation, frm.StartPosition, "$A6");
129 Assert.AreEqual (new Point (int.MinValue, int.MinValue).ToString (), new Point (cp.X, cp.Y).ToString (), "#A6");
136 public void MdiFormStartupPositionTest ()
139 using (Form Main = new Form ()) {
140 Main.IsMdiContainer = true;
141 Main.ShowInTaskbar = false;
144 using (Form frm = new Form ()) {
145 frm.MdiParent = Main;
146 cp = TestHelper.GetCreateParams (frm);
147 Assert.AreEqual (FormStartPosition.WindowsDefaultLocation, frm.StartPosition, "$01");
148 Assert.AreEqual (new Point (int.MinValue, int.MinValue).ToString (), new Point (cp.X, cp.Y).ToString (), "#01");
150 frm.StartPosition = FormStartPosition.CenterParent;
151 cp = TestHelper.GetCreateParams (frm);
152 Assert.AreEqual (FormStartPosition.CenterParent, frm.StartPosition, "$01");
153 Assert.AreEqual (new Point (int.MinValue, int.MinValue).ToString (), new Point (cp.X, cp.Y).ToString (), "#02");
155 frm.StartPosition = FormStartPosition.CenterScreen;
156 cp = TestHelper.GetCreateParams (frm);
157 Assert.AreEqual (FormStartPosition.CenterScreen, frm.StartPosition, "$01");
158 Assert.AreEqual (new Point (0, 0).ToString (), new Point (cp.X, cp.Y).ToString (), "#03");
160 frm.StartPosition = FormStartPosition.Manual;
161 cp = TestHelper.GetCreateParams (frm);
162 Assert.AreEqual (FormStartPosition.Manual, frm.StartPosition, "$01");
163 Assert.AreEqual (new Point (0, 0).ToString (), new Point (cp.X, cp.Y).ToString (), "#04");
165 frm.StartPosition = FormStartPosition.WindowsDefaultBounds;
166 cp = TestHelper.GetCreateParams (frm);
167 Assert.AreEqual (FormStartPosition.WindowsDefaultBounds, frm.StartPosition, "$01");
168 Assert.AreEqual (new Point (int.MinValue, int.MinValue).ToString (), new Point (cp.X, cp.Y).ToString (), "#05");
170 frm.StartPosition = FormStartPosition.WindowsDefaultLocation;
171 cp = TestHelper.GetCreateParams (frm);
172 Assert.AreEqual (FormStartPosition.WindowsDefaultLocation, frm.StartPosition, "$01");
173 Assert.AreEqual (new Point (int.MinValue, int.MinValue).ToString (), new Point (cp.X, cp.Y).ToString (), "#06");
178 using (Form frm = new Form ()) {
179 frm.MdiParent = Main;
180 frm.Location = new Point (23, 45);
182 cp = TestHelper.GetCreateParams (frm);
183 Assert.AreEqual (FormStartPosition.WindowsDefaultLocation, frm.StartPosition, "$A1");
184 Assert.AreEqual (new Point (int.MinValue, int.MinValue).ToString (), new Point (cp.X, cp.Y).ToString (), "#A1");
186 frm.StartPosition = FormStartPosition.CenterParent;
187 cp = TestHelper.GetCreateParams (frm);
188 Assert.AreEqual (FormStartPosition.CenterParent, frm.StartPosition, "$A2");
189 Assert.AreEqual (new Point (int.MinValue, int.MinValue).ToString (), new Point (cp.X, cp.Y).ToString (), "#A2");
191 frm.StartPosition = FormStartPosition.CenterScreen;
192 cp = TestHelper.GetCreateParams (frm);
193 Assert.AreEqual (FormStartPosition.CenterScreen, frm.StartPosition, "$A3");
194 Assert.AreEqual (new Point (0, 0).ToString (), new Point (cp.X, cp.Y).ToString (), "#A3");
196 frm.StartPosition = FormStartPosition.Manual;
197 cp = TestHelper.GetCreateParams (frm);
198 Assert.AreEqual (FormStartPosition.Manual, frm.StartPosition, "$A4");
199 Assert.AreEqual (new Point (23, 45).ToString (), new Point (cp.X, cp.Y).ToString (), "#A4");
201 frm.StartPosition = FormStartPosition.WindowsDefaultBounds;
202 cp = TestHelper.GetCreateParams (frm);
203 Assert.AreEqual (FormStartPosition.WindowsDefaultBounds, frm.StartPosition, "$A5");
204 Assert.AreEqual (new Point (int.MinValue, int.MinValue).ToString (), new Point (cp.X, cp.Y).ToString (), "#A5");
206 frm.StartPosition = FormStartPosition.WindowsDefaultLocation;
207 cp = TestHelper.GetCreateParams (frm);
208 Assert.AreEqual (FormStartPosition.WindowsDefaultLocation, frm.StartPosition, "$A6");
209 Assert.AreEqual (new Point (int.MinValue, int.MinValue).ToString (), new Point (cp.X, cp.Y).ToString (), "#A6");
216 using (Form frm = new Form ()) {
217 frm.MdiParent = Main;
218 frm.Location = new Point (34, 56);
220 cp = TestHelper.GetCreateParams (frm);
221 Assert.AreEqual (FormStartPosition.WindowsDefaultLocation, frm.StartPosition, "$B1");
222 Assert.AreEqual (new Point (int.MinValue, int.MinValue).ToString (), new Point (cp.X, cp.Y).ToString (), "#B1");
224 frm.StartPosition = FormStartPosition.CenterParent;
225 cp = TestHelper.GetCreateParams (frm);
226 Assert.AreEqual (FormStartPosition.CenterParent, frm.StartPosition, "$B2");
227 Assert.AreEqual (new Point (int.MinValue, int.MinValue).ToString (), new Point (cp.X, cp.Y).ToString (), "#B2");
229 frm.StartPosition = FormStartPosition.CenterScreen;
230 cp = TestHelper.GetCreateParams (frm);
231 Assert.AreEqual (FormStartPosition.CenterScreen, frm.StartPosition, "$B3");
232 Assert.AreEqual (new Point (0, 0).ToString (), new Point (cp.X, cp.Y).ToString (), "#B3");
234 frm.StartPosition = FormStartPosition.Manual;
235 cp = TestHelper.GetCreateParams (frm);
236 Assert.AreEqual (FormStartPosition.Manual, frm.StartPosition, "$B4");
237 Assert.AreEqual (new Point (34, 56).ToString (), new Point (cp.X, cp.Y).ToString (), "#B4");
239 frm.StartPosition = FormStartPosition.WindowsDefaultBounds;
240 cp = TestHelper.GetCreateParams (frm);
241 Assert.AreEqual (FormStartPosition.WindowsDefaultBounds, frm.StartPosition, "$B5");
242 Assert.AreEqual (new Point (int.MinValue, int.MinValue).ToString (), new Point (cp.X, cp.Y).ToString (), "#B5");
244 frm.StartPosition = FormStartPosition.WindowsDefaultLocation;
245 cp = TestHelper.GetCreateParams (frm);
246 Assert.AreEqual (FormStartPosition.WindowsDefaultLocation, frm.StartPosition, "$B6");
247 Assert.AreEqual (new Point (int.MinValue, int.MinValue).ToString (), new Point (cp.X, cp.Y).ToString (), "#B6");
252 Main.Size = new Size (600, 600);
253 using (Form frm = new Form ()) {
254 frm.MdiParent = Main;
255 frm.Location = new Point (34, 56);
257 cp = TestHelper.GetCreateParams (frm);
258 Assert.AreEqual (FormStartPosition.WindowsDefaultLocation, frm.StartPosition, "$C1");
259 Assert.AreEqual (new Point (int.MinValue, int.MinValue).ToString (), new Point (cp.X, cp.Y).ToString (), "#C1");
261 frm.StartPosition = FormStartPosition.CenterParent;
262 cp = TestHelper.GetCreateParams (frm);
263 Assert.AreEqual (FormStartPosition.CenterParent, frm.StartPosition, "$C2");
264 Assert.AreEqual (new Point (int.MinValue, int.MinValue).ToString (), new Point (cp.X, cp.Y).ToString (), "#C2");
266 frm.StartPosition = FormStartPosition.CenterScreen;
267 cp = TestHelper.GetCreateParams (frm);
268 Assert.AreEqual (FormStartPosition.CenterScreen, frm.StartPosition, "$C3");
269 Assert.AreEqual (new Point (Main.Controls [0].ClientSize.Width / 2 - frm.Width / 2, Main.Controls [0].ClientSize.Height / 2 - frm.Height / 2).ToString (), new Point (cp.X, cp.Y).ToString (), "#C3");
271 frm.StartPosition = FormStartPosition.Manual;
272 cp = TestHelper.GetCreateParams (frm);
273 Assert.AreEqual (FormStartPosition.Manual, frm.StartPosition, "$C4");
274 Assert.AreEqual (new Point (34, 56).ToString (), new Point (cp.X, cp.Y).ToString (), "#C4");
276 frm.StartPosition = FormStartPosition.WindowsDefaultBounds;
277 cp = TestHelper.GetCreateParams (frm);
278 Assert.AreEqual (FormStartPosition.WindowsDefaultBounds, frm.StartPosition, "$C5");
279 Assert.AreEqual (new Point (int.MinValue, int.MinValue).ToString (), new Point (cp.X, cp.Y).ToString (), "#C5");
281 frm.StartPosition = FormStartPosition.WindowsDefaultLocation;
282 cp = TestHelper.GetCreateParams (frm);
283 Assert.AreEqual (FormStartPosition.WindowsDefaultLocation, frm.StartPosition, "$C6");
284 Assert.AreEqual (new Point (int.MinValue, int.MinValue).ToString (), new Point (cp.X, cp.Y).ToString (), "#C6");
292 public void ParentedFormStartupPositionTest ()
295 using (Form Main = new Form ()) {
296 Main.ShowInTaskbar = false;
299 using (Form frm = new Form ()) {
300 frm.TopLevel = false;
301 Main.Controls.Add (frm);
302 cp = TestHelper.GetCreateParams (frm);
303 Assert.AreEqual (FormStartPosition.WindowsDefaultLocation, frm.StartPosition, "$01");
304 Assert.AreEqual (new Point (0, 0).ToString (), new Point (cp.X, cp.Y).ToString (), "#01");
306 frm.StartPosition = FormStartPosition.CenterParent;
307 cp = TestHelper.GetCreateParams (frm);
308 Assert.AreEqual (FormStartPosition.CenterParent, frm.StartPosition, "$02");
309 Assert.AreEqual (new Point (0, 0).ToString (), new Point (cp.X, cp.Y).ToString (), "#02");
311 frm.StartPosition = FormStartPosition.CenterScreen;
312 cp = TestHelper.GetCreateParams (frm);
313 Assert.AreEqual (FormStartPosition.CenterScreen, frm.StartPosition, "$03");
314 Assert.AreEqual (new Point (0, 0).ToString (), new Point (cp.X, cp.Y).ToString (), "#03");
316 frm.StartPosition = FormStartPosition.Manual;
317 cp = TestHelper.GetCreateParams (frm);
318 Assert.AreEqual (FormStartPosition.Manual, frm.StartPosition, "$04");
319 Assert.AreEqual (new Point (0, 0).ToString (), new Point (cp.X, cp.Y).ToString (), "#04");
321 frm.StartPosition = FormStartPosition.WindowsDefaultBounds;
322 cp = TestHelper.GetCreateParams (frm);
323 Assert.AreEqual (FormStartPosition.WindowsDefaultBounds, frm.StartPosition, "$05");
324 Assert.AreEqual (new Point (0, 0).ToString (), new Point (cp.X, cp.Y).ToString (), "#05");
326 frm.StartPosition = FormStartPosition.WindowsDefaultLocation;
327 cp = TestHelper.GetCreateParams (frm);
328 Assert.AreEqual (FormStartPosition.WindowsDefaultLocation, frm.StartPosition, "$06");
329 Assert.AreEqual (new Point (0, 0).ToString (), new Point (cp.X, cp.Y).ToString (), "#06");
334 using (Form frm = new Form ()) {
335 frm.TopLevel = false;
336 Main.Controls.Add (frm);
337 frm.Location = new Point (23, 45);
339 cp = TestHelper.GetCreateParams (frm);
340 Assert.AreEqual (FormStartPosition.WindowsDefaultLocation, frm.StartPosition, "$A1");
341 Assert.AreEqual (new Point (23, 45).ToString (), new Point (cp.X, cp.Y).ToString (), "#A1");
343 frm.StartPosition = FormStartPosition.CenterParent;
344 cp = TestHelper.GetCreateParams (frm);
345 Assert.AreEqual (FormStartPosition.CenterParent, frm.StartPosition, "$A2");
346 Assert.AreEqual (new Point (23, 45).ToString (), new Point (cp.X, cp.Y).ToString (), "#A2");
348 frm.StartPosition = FormStartPosition.CenterScreen;
349 cp = TestHelper.GetCreateParams (frm);
350 Assert.AreEqual (FormStartPosition.CenterScreen, frm.StartPosition, "$A3");
351 Assert.AreEqual (new Point (23, 45).ToString (), new Point (cp.X, cp.Y).ToString (), "#A3");
353 frm.StartPosition = FormStartPosition.Manual;
354 cp = TestHelper.GetCreateParams (frm);
355 Assert.AreEqual (FormStartPosition.Manual, frm.StartPosition, "$A4");
356 Assert.AreEqual (new Point (23, 45).ToString (), new Point (cp.X, cp.Y).ToString (), "#A4");
358 frm.StartPosition = FormStartPosition.WindowsDefaultBounds;
359 cp = TestHelper.GetCreateParams (frm);
360 Assert.AreEqual (FormStartPosition.WindowsDefaultBounds, frm.StartPosition, "$A5");
361 Assert.AreEqual (new Point (23, 45).ToString (), new Point (cp.X, cp.Y).ToString (), "#A5");
363 frm.StartPosition = FormStartPosition.WindowsDefaultLocation;
364 cp = TestHelper.GetCreateParams (frm);
365 Assert.AreEqual (FormStartPosition.WindowsDefaultLocation, frm.StartPosition, "$A6");
366 Assert.AreEqual (new Point (23, 45).ToString (), new Point (cp.X, cp.Y).ToString (), "#A6");
373 using (Form frm = new Form ()) {
374 frm.TopLevel = false;
375 Main.Controls.Add (frm);
376 frm.Location = new Point (34, 56);
378 cp = TestHelper.GetCreateParams (frm);
379 Assert.AreEqual (FormStartPosition.WindowsDefaultLocation, frm.StartPosition, "$B1");
380 Assert.AreEqual (new Point (34, 56).ToString (), new Point (cp.X, cp.Y).ToString (), "#B1");
382 frm.StartPosition = FormStartPosition.CenterParent;
383 cp = TestHelper.GetCreateParams (frm);
384 Assert.AreEqual (FormStartPosition.CenterParent, frm.StartPosition, "$B2");
385 Assert.AreEqual (new Point (34, 56).ToString (), new Point (cp.X, cp.Y).ToString (), "#B2");
387 frm.StartPosition = FormStartPosition.CenterScreen;
388 cp = TestHelper.GetCreateParams (frm);
389 Assert.AreEqual (FormStartPosition.CenterScreen, frm.StartPosition, "$B3");
390 Assert.AreEqual (new Point (34, 56).ToString (), new Point (cp.X, cp.Y).ToString (), "#B3");
392 frm.StartPosition = FormStartPosition.Manual;
393 cp = TestHelper.GetCreateParams (frm);
394 Assert.AreEqual (FormStartPosition.Manual, frm.StartPosition, "$B4");
395 Assert.AreEqual (new Point (34, 56).ToString (), new Point (cp.X, cp.Y).ToString (), "#B4");
397 frm.StartPosition = FormStartPosition.WindowsDefaultBounds;
398 cp = TestHelper.GetCreateParams (frm);
399 Assert.AreEqual (FormStartPosition.WindowsDefaultBounds, frm.StartPosition, "$B5");
400 Assert.AreEqual (new Point (34, 56).ToString (), new Point (cp.X, cp.Y).ToString (), "#B5");
402 frm.StartPosition = FormStartPosition.WindowsDefaultLocation;
403 cp = TestHelper.GetCreateParams (frm);
404 Assert.AreEqual (FormStartPosition.WindowsDefaultLocation, frm.StartPosition, "$B6");
405 Assert.AreEqual (new Point (34, 56).ToString (), new Point (cp.X, cp.Y).ToString (), "#B6");
411 Main.Size = new Size (600, 600);
412 using (Form frm = new Form ()) {
413 frm.TopLevel = false;
414 Main.Controls.Add (frm);
415 frm.Location = new Point (34, 56);
417 cp = TestHelper.GetCreateParams (frm);
418 Assert.AreEqual (FormStartPosition.WindowsDefaultLocation, frm.StartPosition, "$C1");
419 Assert.AreEqual (new Point (34, 56).ToString (), new Point (cp.X, cp.Y).ToString (), "#C1");
421 frm.StartPosition = FormStartPosition.CenterParent;
422 cp = TestHelper.GetCreateParams (frm);
423 Assert.AreEqual (FormStartPosition.CenterParent, frm.StartPosition, "$C2");
424 Assert.AreEqual (new Point (34, 56).ToString (), new Point (cp.X, cp.Y).ToString (), "#C2");
426 frm.StartPosition = FormStartPosition.CenterScreen;
427 cp = TestHelper.GetCreateParams (frm);
428 Assert.AreEqual (FormStartPosition.CenterScreen, frm.StartPosition, "$C3");
429 Assert.AreEqual (new Point (34, 56).ToString (), new Point (cp.X, cp.Y).ToString (), "#C3");
431 frm.StartPosition = FormStartPosition.Manual;
432 cp = TestHelper.GetCreateParams (frm);
433 Assert.AreEqual (FormStartPosition.Manual, frm.StartPosition, "$C4");
434 Assert.AreEqual (new Point (34, 56).ToString (), new Point (cp.X, cp.Y).ToString (), "#C4");
436 frm.StartPosition = FormStartPosition.WindowsDefaultBounds;
437 cp = TestHelper.GetCreateParams (frm);
438 Assert.AreEqual (FormStartPosition.WindowsDefaultBounds, frm.StartPosition, "$C5");
439 Assert.AreEqual (new Point (34, 56).ToString (), new Point (cp.X, cp.Y).ToString (), "#C5");
441 frm.StartPosition = FormStartPosition.WindowsDefaultLocation;
442 cp = TestHelper.GetCreateParams (frm);
443 Assert.AreEqual (FormStartPosition.WindowsDefaultLocation, frm.StartPosition, "$C6");
444 Assert.AreEqual (new Point (34, 56).ToString (), new Point (cp.X, cp.Y).ToString (), "#C6");
452 public void ClientSizeTest ()
454 Form form = new Form ();
455 Assert.IsFalse (form.ClientSize == form.Size);
459 [Category ("NotWorking")]
460 public void FormBorderStyleTest ()
462 Form form = new Form ();
463 Rectangle boundsBeforeBorderStyleChange = form.Bounds;
464 Rectangle clientRectangleBeforeBorderStyleChange = form.ClientRectangle;
465 form.FormBorderStyle = FormBorderStyle.None;
466 Assert.AreEqual (form.Bounds, boundsBeforeBorderStyleChange, "#A1");
467 Assert.AreEqual (form.ClientRectangle, clientRectangleBeforeBorderStyleChange, "#A2");
470 form.FormBorderStyle = FormBorderStyle.Sizable;
471 boundsBeforeBorderStyleChange = form.Bounds;
472 clientRectangleBeforeBorderStyleChange = form.ClientRectangle;
473 form.FormBorderStyle = FormBorderStyle.None;
474 Assert.IsFalse (form.Bounds == boundsBeforeBorderStyleChange, "#B1");
475 Assert.AreEqual (form.ClientRectangle, clientRectangleBeforeBorderStyleChange, "#B2");
477 form.Visible = false;
478 form.FormBorderStyle = FormBorderStyle.Sizable;
479 boundsBeforeBorderStyleChange = form.Bounds;
480 clientRectangleBeforeBorderStyleChange = form.ClientRectangle;
481 form.FormBorderStyle = FormBorderStyle.None;
482 Assert.IsFalse (form.Bounds == boundsBeforeBorderStyleChange, "#C1");
483 Assert.AreEqual (form.ClientRectangle, clientRectangleBeforeBorderStyleChange, "#C2");
487 [Category ("NotWorking")]
488 public void MaximizedParentedFormTest ()
490 using (Form Main = new Form ()) {
491 Form Child = new Form ();
492 Child.TopLevel = false;
493 Main.Controls.Add (Child);
494 Main.ShowInTaskbar = false;
497 Child.WindowState = FormWindowState.Maximized;
498 Child.Visible = true;
499 // The exact negative value depends on the border with, but it should always be < 0.
500 Assert.IsTrue (Child.Location.X < 0 && Child.Location.Y < 0, "#A1");
504 [Category ("NotWorking")]
505 public void ParentedFormEventTest ()
508 using (Form Main = new Form ()) {
509 Form Child = new Form ();
510 Child.TopLevel = false;
511 Child.Visible = true;
512 Main.ShowInTaskbar = false;
515 EventLogger log = new EventLogger (Child);
516 Assert.AreEqual (true, Child.Visible, "#A0");
517 Main.Controls.Add (Child);
518 Assert.AreEqual (true, Child.Visible, "#B0");
519 Assert.AreEqual ("ParentChanged;BindingContextChanged;Layout;VisibleChanged;BindingContextChanged;BindingContextChanged", log.EventsJoined (), "#B1");
523 [NUnit.Framework.Category ("NotWorking")]
524 public void FormCreateParamsStyleTest ()
528 using (frm = new Form ()) {
529 Assert.AreEqual (WindowStyles.WS_TILED | WindowStyles.WS_TILEDWINDOW | WindowStyles.WS_CLIPCHILDREN, ((WindowStyles) TestHelper.GetCreateParams (frm).Style), "#01-Style");
530 Assert.AreEqual (WindowExStyles.WS_EX_LEFT | WindowExStyles.WS_EX_RIGHTSCROLLBAR | WindowExStyles.WS_EX_CONTROLPARENT | WindowExStyles.WS_EX_APPWINDOW, ((WindowExStyles) TestHelper.GetCreateParams (frm).ExStyle), "#01-ExStyle");
533 using (frm = new Form ()) {
534 frm.AllowDrop = !frm.AllowDrop;
535 Assert.AreEqual (WindowStyles.WS_TILED | WindowStyles.WS_TILEDWINDOW | WindowStyles.WS_CLIPCHILDREN, ((WindowStyles)TestHelper.GetCreateParams (frm).Style), "#02-Style");
536 Assert.AreEqual (WindowExStyles.WS_EX_LEFT | WindowExStyles.WS_EX_RIGHTSCROLLBAR | WindowExStyles.WS_EX_CONTROLPARENT | WindowExStyles.WS_EX_APPWINDOW, ((WindowExStyles)TestHelper.GetCreateParams (frm).ExStyle), "#02-ExStyle");
539 using (frm = new Form ()) {
540 frm.AllowTransparency = !frm.AllowTransparency;
541 Assert.AreEqual (WindowStyles.WS_TILED | WindowStyles.WS_TILEDWINDOW | WindowStyles.WS_CLIPCHILDREN, ((WindowStyles)TestHelper.GetCreateParams (frm).Style), "#03-Style");
542 Assert.AreEqual (WindowExStyles.WS_EX_LEFT | WindowExStyles.WS_EX_RIGHTSCROLLBAR | WindowExStyles.WS_EX_CONTROLPARENT | WindowExStyles.WS_EX_APPWINDOW | WindowExStyles.WS_EX_LAYERED, ((WindowExStyles)TestHelper.GetCreateParams (frm).ExStyle), "#03-ExStyle");
545 using (frm = new Form ()) {
547 Assert.AreEqual (WindowStyles.WS_TILED | WindowStyles.WS_TILEDWINDOW | WindowStyles.WS_CLIPCHILDREN, ((WindowStyles)TestHelper.GetCreateParams (frm).Style), "#04-Style");
548 Assert.AreEqual (WindowExStyles.WS_EX_LEFT | WindowExStyles.WS_EX_RIGHTSCROLLBAR | WindowExStyles.WS_EX_CONTROLPARENT | WindowExStyles.WS_EX_APPWINDOW | WindowExStyles.WS_EX_LAYERED, ((WindowExStyles)TestHelper.GetCreateParams (frm).ExStyle), "#04-ExStyle");
551 using (frm = new Form ()) {
552 frm.TransparencyKey = Color.Cyan;
553 Assert.AreEqual (WindowStyles.WS_TILED | WindowStyles.WS_TILEDWINDOW | WindowStyles.WS_CLIPCHILDREN, ((WindowStyles)TestHelper.GetCreateParams (frm).Style), "#05-Style");
554 Assert.AreEqual (WindowExStyles.WS_EX_LEFT | WindowExStyles.WS_EX_RIGHTSCROLLBAR | WindowExStyles.WS_EX_CONTROLPARENT | WindowExStyles.WS_EX_APPWINDOW | WindowExStyles.WS_EX_LAYERED, ((WindowExStyles)TestHelper.GetCreateParams (frm).ExStyle), "#05-ExStyle");
557 using (frm = new Form ()) {
558 frm.CausesValidation = !frm.CausesValidation;
559 Assert.AreEqual (WindowStyles.WS_TILED | WindowStyles.WS_TILEDWINDOW | WindowStyles.WS_CLIPCHILDREN, ((WindowStyles)TestHelper.GetCreateParams (frm).Style), "#06-Style");
560 Assert.AreEqual (WindowExStyles.WS_EX_LEFT | WindowExStyles.WS_EX_RIGHTSCROLLBAR | WindowExStyles.WS_EX_CONTROLPARENT | WindowExStyles.WS_EX_APPWINDOW, ((WindowExStyles)TestHelper.GetCreateParams (frm).ExStyle), "#06-ExStyle");
563 using (frm = new Form ()) {
564 frm.ControlBox = !frm.ControlBox;
565 Assert.AreEqual (WindowStyles.WS_TILED | WindowStyles.WS_TABSTOP | WindowStyles.WS_GROUP | WindowStyles.WS_THICKFRAME | WindowStyles.WS_BORDER | WindowStyles.WS_CLIPCHILDREN, ((WindowStyles)TestHelper.GetCreateParams (frm).Style), "#07-Style");
566 Assert.AreEqual (WindowExStyles.WS_EX_LEFT | WindowExStyles.WS_EX_RIGHTSCROLLBAR | WindowExStyles.WS_EX_CONTROLPARENT | WindowExStyles.WS_EX_APPWINDOW, ((WindowExStyles)TestHelper.GetCreateParams (frm).ExStyle), "#07-ExStyle");
569 using (frm = new Form ()) {
571 Assert.AreEqual (WindowStyles.WS_TILED | WindowStyles.WS_TILEDWINDOW | WindowStyles.WS_CLIPCHILDREN, ((WindowStyles)TestHelper.GetCreateParams (frm).Style), "#08-Style");
572 Assert.AreEqual (WindowExStyles.WS_EX_LEFT | WindowExStyles.WS_EX_RIGHTSCROLLBAR | WindowExStyles.WS_EX_CONTROLPARENT | WindowExStyles.WS_EX_APPWINDOW, ((WindowExStyles)TestHelper.GetCreateParams (frm).ExStyle), "#08-ExStyle");
575 using (frm = new Form ()) {
576 frm.FormBorderStyle = FormBorderStyle.Fixed3D;
577 Assert.AreEqual (WindowStyles.WS_TILED | WindowStyles.WS_TABSTOP | WindowStyles.WS_GROUP | WindowStyles.WS_SYSMENU | WindowStyles.WS_CAPTION | WindowStyles.WS_CLIPCHILDREN, ((WindowStyles)TestHelper.GetCreateParams (frm).Style), "#10-Style");
578 Assert.AreEqual (WindowExStyles.WS_EX_LEFT | WindowExStyles.WS_EX_RIGHTSCROLLBAR | WindowExStyles.WS_EX_CLIENTEDGE | WindowExStyles.WS_EX_CONTROLPARENT | WindowExStyles.WS_EX_APPWINDOW, ((WindowExStyles)TestHelper.GetCreateParams (frm).ExStyle), "#10-ExStyle");
581 using (frm = new Form ()) {
582 frm.FormBorderStyle = FormBorderStyle.FixedDialog;
583 Assert.AreEqual (WindowStyles.WS_TILED | WindowStyles.WS_TABSTOP | WindowStyles.WS_GROUP | WindowStyles.WS_SYSMENU | WindowStyles.WS_CAPTION | WindowStyles.WS_CLIPCHILDREN, ((WindowStyles)TestHelper.GetCreateParams (frm).Style), "#11-Style");
584 Assert.AreEqual (WindowExStyles.WS_EX_LEFT | WindowExStyles.WS_EX_RIGHTSCROLLBAR | WindowExStyles.WS_EX_DLGMODALFRAME | WindowExStyles.WS_EX_CONTROLPARENT | WindowExStyles.WS_EX_APPWINDOW, ((WindowExStyles)TestHelper.GetCreateParams (frm).ExStyle), "#11-ExStyle");
587 using (frm = new Form ()) {
588 frm.FormBorderStyle = FormBorderStyle.FixedSingle;
589 Assert.AreEqual (WindowStyles.WS_TILED | WindowStyles.WS_TABSTOP | WindowStyles.WS_GROUP | WindowStyles.WS_SYSMENU | WindowStyles.WS_CAPTION | WindowStyles.WS_CLIPCHILDREN, ((WindowStyles)TestHelper.GetCreateParams (frm).Style), "#12-Style");
590 Assert.AreEqual (WindowExStyles.WS_EX_LEFT | WindowExStyles.WS_EX_RIGHTSCROLLBAR | WindowExStyles.WS_EX_CONTROLPARENT | WindowExStyles.WS_EX_APPWINDOW, ((WindowExStyles)TestHelper.GetCreateParams (frm).ExStyle), "#12-ExStyle");
593 using (frm = new Form ()) {
594 frm.FormBorderStyle = FormBorderStyle.FixedToolWindow;
595 Assert.AreEqual (WindowStyles.WS_TILED | WindowStyles.WS_TABSTOP | WindowStyles.WS_GROUP | WindowStyles.WS_SYSMENU | WindowStyles.WS_CAPTION | WindowStyles.WS_CLIPCHILDREN, ((WindowStyles)TestHelper.GetCreateParams (frm).Style), "#13-Style");
596 Assert.AreEqual (WindowExStyles.WS_EX_LEFT | WindowExStyles.WS_EX_RIGHTSCROLLBAR | WindowExStyles.WS_EX_TOOLWINDOW | WindowExStyles.WS_EX_CONTROLPARENT | WindowExStyles.WS_EX_APPWINDOW, ((WindowExStyles)TestHelper.GetCreateParams (frm).ExStyle), "#13-ExStyle");
599 using (frm = new Form ()) {
600 frm.FormBorderStyle = FormBorderStyle.None;
601 Assert.AreEqual (WindowStyles.WS_TILED | WindowStyles.WS_TABSTOP | WindowStyles.WS_CLIPCHILDREN, ((WindowStyles)TestHelper.GetCreateParams (frm).Style), "#14-Style");
602 Assert.AreEqual (WindowExStyles.WS_EX_LEFT | WindowExStyles.WS_EX_RIGHTSCROLLBAR | WindowExStyles.WS_EX_CONTROLPARENT | WindowExStyles.WS_EX_APPWINDOW, ((WindowExStyles)TestHelper.GetCreateParams (frm).ExStyle), "#14-ExStyle");
605 using (frm = new Form ()) {
606 frm.FormBorderStyle = FormBorderStyle.Sizable;
607 Assert.AreEqual (WindowStyles.WS_TILED | WindowStyles.WS_TILEDWINDOW | WindowStyles.WS_CLIPCHILDREN, ((WindowStyles)TestHelper.GetCreateParams (frm).Style), "#15-Style");
608 Assert.AreEqual (WindowExStyles.WS_EX_LEFT | WindowExStyles.WS_EX_RIGHTSCROLLBAR | WindowExStyles.WS_EX_CONTROLPARENT | WindowExStyles.WS_EX_APPWINDOW, ((WindowExStyles)TestHelper.GetCreateParams (frm).ExStyle), "#15-ExStyle");
611 using (frm = new Form ()) {
612 frm.FormBorderStyle = FormBorderStyle.SizableToolWindow;
613 Assert.AreEqual (WindowStyles.WS_TILED | WindowStyles.WS_TILEDWINDOW | WindowStyles.WS_CLIPCHILDREN, ((WindowStyles)TestHelper.GetCreateParams (frm).Style), "#16-Style");
614 Assert.AreEqual (WindowExStyles.WS_EX_LEFT | WindowExStyles.WS_EX_RIGHTSCROLLBAR | WindowExStyles.WS_EX_TOOLWINDOW | WindowExStyles.WS_EX_CONTROLPARENT | WindowExStyles.WS_EX_APPWINDOW, ((WindowExStyles)TestHelper.GetCreateParams (frm).ExStyle), "#16-ExStyle");
617 using (frm = new Form ()) {
618 frm.HelpButton = !frm.HelpButton;
619 Assert.AreEqual (WindowStyles.WS_TILED | WindowStyles.WS_TILEDWINDOW | WindowStyles.WS_CLIPCHILDREN, ((WindowStyles)TestHelper.GetCreateParams (frm).Style), "#17-Style");
620 Assert.AreEqual (WindowExStyles.WS_EX_LEFT | WindowExStyles.WS_EX_RIGHTSCROLLBAR | WindowExStyles.WS_EX_CONTROLPARENT | WindowExStyles.WS_EX_APPWINDOW, ((WindowExStyles)TestHelper.GetCreateParams (frm).ExStyle), "#17-ExStyle");
623 using (frm = new Form ()) {
625 Assert.AreEqual (WindowStyles.WS_TILED | WindowStyles.WS_TILEDWINDOW | WindowStyles.WS_CLIPCHILDREN, ((WindowStyles)TestHelper.GetCreateParams (frm).Style), "#18-Style");
626 Assert.AreEqual (WindowExStyles.WS_EX_LEFT | WindowExStyles.WS_EX_RIGHTSCROLLBAR | WindowExStyles.WS_EX_CONTROLPARENT | WindowExStyles.WS_EX_APPWINDOW, ((WindowExStyles)TestHelper.GetCreateParams (frm).ExStyle), "#18-ExStyle");
629 using (frm = new Form ()) {
630 frm.Icon = SystemIcons.Asterisk;
631 Assert.AreEqual (WindowStyles.WS_TILED | WindowStyles.WS_TILEDWINDOW | WindowStyles.WS_CLIPCHILDREN, ((WindowStyles)TestHelper.GetCreateParams (frm).Style), "#19-Style");
632 Assert.AreEqual (WindowExStyles.WS_EX_LEFT | WindowExStyles.WS_EX_RIGHTSCROLLBAR | WindowExStyles.WS_EX_CONTROLPARENT | WindowExStyles.WS_EX_APPWINDOW, ((WindowExStyles)TestHelper.GetCreateParams (frm).ExStyle), "#19-ExStyle");
635 using (frm = new Form ()) {
636 frm.IsMdiContainer = !frm.IsMdiContainer;
637 Assert.AreEqual (WindowStyles.WS_TILED | WindowStyles.WS_TILEDWINDOW | WindowStyles.WS_CLIPCHILDREN, ((WindowStyles)TestHelper.GetCreateParams (frm).Style), "#20-Style");
638 Assert.AreEqual (WindowExStyles.WS_EX_LEFT | WindowExStyles.WS_EX_RIGHTSCROLLBAR | WindowExStyles.WS_EX_CONTROLPARENT | WindowExStyles.WS_EX_APPWINDOW, ((WindowExStyles)TestHelper.GetCreateParams (frm).ExStyle), "#20-ExStyle");
641 using (frm = new Form ()) {
642 frm.MaximizeBox = !frm.MaximizeBox;
643 Assert.AreEqual (WindowStyles.WS_TILED | WindowStyles.WS_GROUP | WindowStyles.WS_THICKFRAME | WindowStyles.WS_SYSMENU | WindowStyles.WS_CAPTION | WindowStyles.WS_CLIPCHILDREN, ((WindowStyles)TestHelper.GetCreateParams (frm).Style), "#21-Style");
644 Assert.AreEqual (WindowExStyles.WS_EX_LEFT | WindowExStyles.WS_EX_RIGHTSCROLLBAR | WindowExStyles.WS_EX_CONTROLPARENT | WindowExStyles.WS_EX_APPWINDOW, ((WindowExStyles)TestHelper.GetCreateParams (frm).ExStyle), "#21-ExStyle");
647 using (frm = new Form ()) {
648 frm.MinimizeBox = !frm.MinimizeBox;
649 Assert.AreEqual (WindowStyles.WS_TILED | WindowStyles.WS_TABSTOP | WindowStyles.WS_THICKFRAME | WindowStyles.WS_SYSMENU | WindowStyles.WS_CAPTION | WindowStyles.WS_CLIPCHILDREN, ((WindowStyles)TestHelper.GetCreateParams (frm).Style), "#22-Style");
650 Assert.AreEqual (WindowExStyles.WS_EX_LEFT | WindowExStyles.WS_EX_RIGHTSCROLLBAR | WindowExStyles.WS_EX_CONTROLPARENT | WindowExStyles.WS_EX_APPWINDOW, ((WindowExStyles)TestHelper.GetCreateParams (frm).ExStyle), "#22-ExStyle");
653 using (frm = new Form ()) {
654 frm.ShowIcon = !frm.ShowIcon;
655 Assert.AreEqual (WindowStyles.WS_TILED | WindowStyles.WS_TILEDWINDOW | WindowStyles.WS_CLIPCHILDREN, ((WindowStyles)TestHelper.GetCreateParams (frm).Style), "#23-Style");
656 Assert.AreEqual (WindowExStyles.WS_EX_LEFT | WindowExStyles.WS_EX_RIGHTSCROLLBAR | WindowExStyles.WS_EX_DLGMODALFRAME | WindowExStyles.WS_EX_CONTROLPARENT | WindowExStyles.WS_EX_APPWINDOW, ((WindowExStyles)TestHelper.GetCreateParams (frm).ExStyle), "#23-ExStyle");
659 using (frm = new Form ()) {
660 frm.ShowInTaskbar = !frm.ShowInTaskbar;
661 Assert.AreEqual (WindowStyles.WS_TILED | WindowStyles.WS_TILEDWINDOW | WindowStyles.WS_CLIPCHILDREN, ((WindowStyles)TestHelper.GetCreateParams (frm).Style), "#24-Style");
662 Assert.AreEqual (WindowExStyles.WS_EX_LEFT | WindowExStyles.WS_EX_RIGHTSCROLLBAR | WindowExStyles.WS_EX_CONTROLPARENT, ((WindowExStyles)TestHelper.GetCreateParams (frm).ExStyle), "#24-ExStyle");
666 using (frm = new Form ()) {
667 frm.TabStop = !frm.TabStop;
668 Assert.AreEqual (WindowStyles.WS_TILED | WindowStyles.WS_TILEDWINDOW | WindowStyles.WS_CLIPCHILDREN, ((WindowStyles)TestHelper.GetCreateParams (frm).Style), "#25-Style");
669 Assert.AreEqual (WindowExStyles.WS_EX_LEFT | WindowExStyles.WS_EX_RIGHTSCROLLBAR | WindowExStyles.WS_EX_CONTROLPARENT | WindowExStyles.WS_EX_APPWINDOW, ((WindowExStyles)TestHelper.GetCreateParams (frm).ExStyle), "#25-ExStyle");
672 using (frm = new Form ()) {
673 frm.TopLevel = !frm.TopLevel;
674 Assert.AreEqual (WindowStyles.WS_TILED | WindowStyles.WS_TILEDWINDOW | WindowStyles.WS_CLIPCHILDREN | WindowStyles.WS_CLIPSIBLINGS | WindowStyles.WS_CHILD, ((WindowStyles)TestHelper.GetCreateParams (frm).Style), "#26-Style");
675 Assert.AreEqual (WindowExStyles.WS_EX_LEFT | WindowExStyles.WS_EX_RIGHTSCROLLBAR | WindowExStyles.WS_EX_CONTROLPARENT | WindowExStyles.WS_EX_APPWINDOW, ((WindowExStyles)TestHelper.GetCreateParams (frm).ExStyle), "#26-ExStyle");
678 using (frm = new Form ()) {
679 frm.Visible = !frm.Visible;
680 Assert.AreEqual (WindowStyles.WS_TILED | WindowStyles.WS_TILEDWINDOW | WindowStyles.WS_CLIPCHILDREN, ((WindowStyles)TestHelper.GetCreateParams (frm).Style), "#27-Style");
681 Assert.AreEqual (WindowExStyles.WS_EX_LEFT | WindowExStyles.WS_EX_RIGHTSCROLLBAR | WindowExStyles.WS_EX_CONTROLPARENT | WindowExStyles.WS_EX_APPWINDOW, ((WindowExStyles)TestHelper.GetCreateParams (frm).ExStyle), "#27-ExStyle");
686 public void FormParentedTest ()
688 using (Form frm = new Form ()) {
689 Form frm2 = new Form ();
690 frm2.TopLevel = false;
691 frm.ShowInTaskbar = false;
692 frm2.ShowInTaskbar = false;
696 EventLogger log = new EventLogger (frm);
697 EventLogger log2 = new EventLogger (frm2);
699 frm.Controls.Add (frm2);
701 Assert.IsTrue (log2.EventRaised ("ParentChanged"), "#C1");
702 Assert.IsTrue (log.EventRaised ("ControlAdded"), "#P1");
703 Assert.AreSame (frm, frm2.Parent, "#02");
708 public void FormPropertyTest ()
710 Form myform = new Form ();
711 myform.Visible = true;
712 myform.Text = "NewForm";
713 myform.Name = "FormTest";
714 Assert.IsNull (myform.AcceptButton, "#1");
715 Assert.IsNull (myform.ActiveMdiChild, "#2");
716 Assert.IsFalse (myform.AutoScale, "#3");
717 Assert.IsNull (myform.CancelButton, "#6");
718 Assert.IsTrue (myform.ControlBox, "#9");
719 Assert.IsTrue (myform.DesktopBounds.X > 0, "#10a");
720 Assert.IsTrue (myform.DesktopBounds.Y > 0, "#10b");
721 Assert.AreEqual (300, myform.DesktopBounds.Height, "#10c");
722 Assert.AreEqual (300, myform.DesktopBounds.Width, "#10d");
723 Assert.IsTrue (myform.DesktopLocation.X > 0, "#11a");
724 Assert.IsTrue (myform.DesktopLocation.Y > 0, "#11b");
725 Assert.AreEqual (DialogResult.None, myform.DialogResult, "#12");
726 Assert.AreEqual (FormBorderStyle.Sizable, myform.FormBorderStyle, "#13");
727 Assert.IsFalse (myform.HelpButton, "#14");
728 Assert.AreEqual ("System.Drawing.Icon", myform.Icon.GetType ().ToString (), "#15");
729 Assert.IsFalse (myform.IsMdiChild, "#16");
730 Assert.IsFalse (myform.IsMdiContainer, "#17");
731 Assert.IsFalse (myform.KeyPreview, "#18");
732 Assert.IsTrue (myform.MaximizeBox, "#19");
733 Assert.AreEqual (0, myform.MaximumSize.Height, "#20a");
734 Assert.AreEqual (0, myform.MaximumSize.Width, "#20b");
735 Assert.AreEqual (0, myform.MdiChildren.Length, "#21a");
736 Assert.AreEqual (1, myform.MdiChildren.Rank, "#21b");
737 Assert.IsFalse (myform.MdiChildren.IsSynchronized, "#21c");
738 Assert.IsNull (myform.MdiParent, "#22");
739 Assert.IsNull (myform.Menu, "#23");
740 Assert.IsNull (myform.MergedMenu, "#24");
741 Assert.IsTrue (myform.MinimizeBox, "#25");
742 Assert.AreEqual (0, myform.MinimumSize.Height, "#26a");
743 Assert.AreEqual (0, myform.MinimumSize.Width, "#26b");
744 Assert.IsTrue (myform.MinimumSize.IsEmpty, "#26c");
745 Assert.IsFalse (myform.Modal, "#27");
746 Assert.AreEqual (1, myform.Opacity, "#28");
747 Assert.AreEqual (0, myform.OwnedForms.Length, "#29a");
748 Assert.AreEqual (1, myform.OwnedForms.Rank, "#29b");
749 Assert.IsNull (myform.Owner, "#30");
750 Assert.IsTrue (myform.ShowInTaskbar, "#31");
751 Assert.AreEqual (300, myform.Size.Height, "#32a");
752 Assert.AreEqual (300, myform.Size.Width, "#32b");
753 Assert.AreEqual (SizeGripStyle.Auto, myform.SizeGripStyle, "#33");
754 Assert.AreEqual (FormStartPosition.WindowsDefaultLocation, myform.StartPosition, "#34");
755 Assert.IsTrue (myform.TopLevel, "#35");
756 Assert.IsFalse (myform.TopMost, "#36");
757 Assert.AreEqual (Color.Empty, myform.TransparencyKey, "#37");
758 Assert.AreEqual (FormWindowState.Normal, myform.WindowState, "#38");
759 Assert.AreEqual (ImeMode.NoControl, myform.ImeMode, "#39");
764 [Category ("NotWorking")]
765 public void ActivateTest ()
767 Form myform = new Form ();
768 myform.ShowInTaskbar = false;
769 myform.Visible = true;
770 myform.Text = "NewForm";
771 myform.Name = "FormTest";
773 Assert.AreEqual (true, myform.Focus (), "#40");
778 public void AddOwnedFormTest ()
780 Form parent = new Form ();
781 parent.ShowInTaskbar = false;
782 parent.Text = "NewParent";
783 Form ownedForm = new Form ();
784 ownedForm.ShowInTaskbar = false;
785 ownedForm.Text = "Owned Form";
786 parent.AddOwnedForm (ownedForm);
788 Assert.AreEqual ("NewParent", ownedForm.Owner.Text, "#41");
789 ownedForm.Dispose ();
794 public void IsHandleCreated ()
796 Form main = new Form ();
798 main.IsMdiContainer = true;
799 main.ShowInTaskbar = false;
800 Assert.IsFalse (main.IsHandleCreated, "#1");
802 Form child = new Form ();
803 child.MdiParent = main;
804 child.WindowState = FormWindowState.Maximized;
805 Assert.IsFalse (main.IsHandleCreated, "#2");
808 Assert.IsFalse (child.IsHandleCreated, "#3");
809 Assert.IsFalse (main.IsHandleCreated, "#4");
812 Assert.IsTrue (child.IsHandleCreated, "#5");
813 Assert.IsTrue (main.IsHandleCreated, "#6");
820 public void RemoveOwnedFormTest ()
822 Form myform = new Form ();
823 myform.ShowInTaskbar = false;
824 myform.Text = "NewForm";
825 myform.Name = "FormTest";
826 myform.RemoveOwnedForm (myform);
828 Assert.AreEqual (null, myform.Owner, "#44");
833 public void SetDesktopBoundsTest ()
835 Form myform = new Form ();
836 myform.ShowInTaskbar = false;
837 myform.Visible = true;
838 myform.Text = "NewForm";
839 myform.Name = "FormTest";
840 myform.SetDesktopBounds (10, 10, 200 , 200);
841 Assert.AreEqual (200, myform.DesktopBounds.Height, "#45");
846 public void SetDesktopLocationTest ()
848 Form myform = new Form ();
849 myform.ShowInTaskbar = false;
850 myform.Visible = true;
851 myform.Text = "NewForm";
852 myform.Name = "FormTest";
853 myform.SetDesktopLocation (10, 10);
854 Assert.AreEqual (10, myform.DesktopLocation.X, "#46");
859 public void SetDialogResultOutOfRange ()
861 Form myform = new Form ();
862 myform.ShowInTaskbar = false;
864 myform.DialogResult = (DialogResult) (-1);
866 } catch (InvalidEnumArgumentException) {
870 myform.DialogResult = (DialogResult) ((int) DialogResult.No + 1);
872 } catch (InvalidEnumArgumentException) {
877 void myform_set_dialogresult (object sender, EventArgs e)
879 Form f = (Form)sender;
881 f.DialogResult = DialogResult.OK;
884 void myform_close (object sender, EventArgs e)
886 Form f = (Form)sender;
892 public void SetDialogResult ()
894 Form myform = new Form ();
895 myform.ShowInTaskbar = false;
896 myform.Visible = true;
898 myform.DialogResult = DialogResult.Cancel;
900 Assert.IsTrue (myform.Visible, "A1");
901 Assert.IsFalse (myform.IsDisposed, "A2");
905 Assert.IsFalse (myform.Visible, "A3");
906 Assert.IsTrue (myform.IsDisposed, "A4");
910 myform = new Form ();
911 myform.ShowInTaskbar = false;
912 myform.VisibleChanged += new EventHandler (myform_set_dialogresult);
913 result = myform.ShowDialog ();
915 Assert.AreEqual (result, DialogResult.OK, "A5");
916 Assert.IsFalse (myform.Visible, "A6");
917 Assert.IsFalse (myform.IsDisposed, "A7");
919 myform = new Form ();
920 myform.ShowInTaskbar = false;
921 myform.VisibleChanged += new EventHandler (myform_close);
922 result = myform.ShowDialog ();
924 Assert.AreEqual (result, DialogResult.Cancel, "A8");
925 Assert.IsFalse (myform.Visible, "A9");
926 Assert.IsFalse (myform.IsDisposed, "A10");
930 public void ShowDialog_Child ()
932 Form main = new Form ();
933 main.IsMdiContainer = true;
934 Form child = new Form ();
935 child.MdiParent = main;
939 } catch (InvalidOperationException ex) {
940 // Forms that are not top level forms cannot be displayed as a
941 // modal dialog. Remove the form from any parent form before
942 // calling ShowDialog.
943 Assert.AreEqual (typeof (InvalidOperationException), ex.GetType (), "#2");
944 Assert.IsNull (ex.InnerException, "#3");
945 Assert.IsNotNull (ex.Message, "#4");
947 Assert.IsNull (child.Owner, "#5");
953 public void ShowDialog_Disabled ()
955 Form form = new Form ();
956 form.Enabled = false;
960 } catch (InvalidOperationException ex) {
961 // Forms that are not enabled cannot be displayed as a modal
962 // dialog. Set the form's enabled property to true before
963 // calling ShowDialog.
964 Assert.AreEqual (typeof (InvalidOperationException), ex.GetType (), "#A2");
965 Assert.IsNull (ex.InnerException, "#A3");
966 Assert.IsNotNull (ex.Message, "#A4");
968 Assert.IsNull (form.Owner, "#A5");
971 Form main = new Form ();
974 form.Enabled = false;
978 } catch (InvalidOperationException) {
980 Assert.IsNotNull (form.Owner, "#B2");
981 Assert.AreSame (main, form.Owner, "#B3");
987 [Category ("NotWorking")]
988 public void ShowDialog_Owner_Circular ()
990 Form main = new Form ();
991 Form child = new Form ();
994 main.ShowDialog (child);
996 } catch (ArgumentException ex) {
997 // A circular control reference has been made. A control cannot
998 // be owned or parented to itself
999 Assert.AreEqual (typeof (ArgumentException), ex.GetType (), "#2");
1000 Assert.IsNull (ex.InnerException, "#3");
1001 Assert.IsNotNull (ex.Message, "#4");
1002 Assert.IsNull (ex.ParamName, "#5");
1004 Assert.IsNull (main.Owner, "#6");
1009 [Test] // bug #80773
1010 [Category ("NotWorking")]
1011 public void ShowDialog_Owner_Self ()
1013 Form form = new Form ();
1015 form.ShowDialog (form);
1016 Assert.Fail ("#A1");
1017 } catch (ArgumentException ex) {
1018 // Forms cannot own themselves or their owners
1019 Assert.AreEqual (typeof (ArgumentException), ex.GetType (), "#A2");
1020 Assert.IsNull (ex.InnerException, "#A3");
1021 Assert.IsNotNull (ex.Message, "#A4");
1022 Assert.IsNotNull (ex.ParamName, "#A5");
1023 Assert.AreEqual ("owner", ex.ParamName, "#A6");
1025 Assert.IsNull (form.Owner, "#A7");
1028 Form main = new Form ();
1032 form.ShowDialog (form);
1033 Assert.Fail ("#B1");
1034 } catch (ArgumentException) {
1036 Assert.IsNotNull (form.Owner);
1037 Assert.AreSame (main, form.Owner, "#B2");
1043 public void ShowDialog_Visible ()
1045 Form form = new Form ();
1046 form.ShowInTaskbar = false;
1047 form.Visible = true;
1050 Assert.Fail ("#A1");
1051 } catch (InvalidOperationException ex) {
1052 // Forms that are already visible cannot be displayed as a modal
1053 // dialog. Set the form's visible property to false before
1054 // calling ShowDialog.
1055 Assert.AreEqual (typeof (InvalidOperationException), ex.GetType (), "#A2");
1056 Assert.IsNull (ex.InnerException, "#A3");
1057 Assert.IsNotNull (ex.Message, "#A4");
1059 Assert.IsNull (form.Owner, "#A5");
1062 Form main = new Form ();
1065 form.Visible = true;
1068 Assert.Fail ("#B1");
1069 } catch (InvalidOperationException) {
1071 Assert.IsNotNull (form.Owner, "#B2");
1072 Assert.AreSame (main, form.Owner, "#B3");
1077 [Test] // bug #80604
1078 public void VisibleOnLoad ()
1080 MockForm form = new MockForm ();
1081 form.CloseOnLoad = true;
1082 Application.Run (form);
1083 Assert.IsTrue (form.VisibleOnLoad, "#1");
1086 form = new MockForm ();
1087 form.ShowInTaskbar = false;
1089 Assert.IsTrue (form.VisibleOnLoad, "#2");
1093 [Test] // bug #80052
1094 public void Location ()
1100 Form formA = new Form ();
1101 formA.ShowInTaskbar = false;
1102 formA.StartPosition = FormStartPosition.CenterParent;
1103 formA.Location = new Point (151, 251);
1106 Assert.AreEqual (FormStartPosition.CenterParent, formA.StartPosition, "#A1");
1107 Assert.IsFalse (formA.Location.X == 151, "#A2");
1108 Assert.IsFalse (formA.Location.Y == 251, "#A3");
1110 formA.Location = new Point (311, 221);
1112 Assert.AreEqual (FormStartPosition.CenterParent, formA.StartPosition, "#A4");
1113 Assert.AreEqual (311, formA.Location.X, "#A5");
1114 Assert.AreEqual (221, formA.Location.Y, "#A6");
1122 Form formB = new Form ();
1123 formB.ShowInTaskbar = false;
1124 formB.StartPosition = FormStartPosition.CenterScreen;
1125 formB.Location = new Point (151, 251);
1128 Assert.AreEqual (FormStartPosition.CenterScreen, formB.StartPosition, "#B1");
1129 Assert.IsFalse (formB.Location.X == 151, "#B2");
1130 Assert.IsFalse (formB.Location.Y == 251, "#B3");
1132 formB.Location = new Point (311, 221);
1134 Assert.AreEqual (FormStartPosition.CenterScreen, formB.StartPosition, "#B4");
1135 Assert.AreEqual (311, formB.Location.X, "#B5");
1136 Assert.AreEqual (221, formB.Location.Y, "#B6");
1144 Form formC = new Form ();
1145 formC.ShowInTaskbar = false;
1146 formC.StartPosition = FormStartPosition.Manual;
1147 formC.Location = new Point (151, 251);
1150 Assert.AreEqual (FormStartPosition.Manual, formC.StartPosition, "#C1");
1151 Assert.AreEqual (151, formC.Location.X, "#C2");
1152 Assert.AreEqual (251, formC.Location.Y, "#C3");
1154 formC.Location = new Point (311, 221);
1156 Assert.AreEqual (FormStartPosition.Manual, formC.StartPosition, "#C4");
1157 Assert.AreEqual (311, formC.Location.X, "#C5");
1158 Assert.AreEqual (221, formC.Location.Y, "#C6");
1163 // WindowsDefaultBounds
1166 Form formD = new Form ();
1167 formD.ShowInTaskbar = false;
1168 formD.StartPosition = FormStartPosition.WindowsDefaultBounds;
1169 formD.Location = new Point (151, 251);
1172 Assert.AreEqual (FormStartPosition.WindowsDefaultBounds, formD.StartPosition, "#D1");
1173 Assert.IsFalse (formD.Location.X == 151, "#D2");
1174 Assert.IsFalse (formD.Location.Y == 251, "#D3");
1176 formD.Location = new Point (311, 221);
1178 Assert.AreEqual (FormStartPosition.WindowsDefaultBounds, formD.StartPosition, "#D4");
1179 Assert.AreEqual (311, formD.Location.X, "#D5");
1180 Assert.AreEqual (221, formD.Location.Y, "#D6");
1185 // WindowsDefaultLocation
1188 Form formE = new Form ();
1189 formE.ShowInTaskbar = false;
1190 formE.Location = new Point (151, 251);
1193 Assert.AreEqual (FormStartPosition.WindowsDefaultLocation, formE.StartPosition, "#E1");
1194 Assert.IsFalse (formE.Location.X == 151, "#E2");
1195 Assert.IsFalse (formE.Location.Y == 251, "#E3");
1197 formE.Location = new Point (311, 221);
1199 Assert.AreEqual (FormStartPosition.WindowsDefaultLocation, formE.StartPosition, "#E4");
1200 Assert.AreEqual (311, formE.Location.X, "#E5");
1201 Assert.AreEqual (221, formE.Location.Y, "#E6");
1207 public void DisposeOwnerTest ()
1209 Form f1 = new Form ();
1210 Form f2 = new Form ();
1216 Assert.IsNull (f2.Owner, "1");
1217 Assert.AreEqual (0, f1.OwnedForms.Length, "2");
1221 [ExpectedException (typeof (ObjectDisposedException))]
1222 public void AccessDisposedForm ()
1224 Form myform = new Form ();
1225 myform.ShowInTaskbar = false;
1228 myform.Close (); // this should result in the form being disposed
1229 myform.Show (); // and this line should result in the ODE being thrown
1234 public void DoDestroyHandle ()
1238 public void DoRecreateHandle ()
1244 int handle_destroyed_count;
1245 void handle_destroyed (object sender, EventArgs e)
1247 handle_destroyed_count++;
1251 public void DestroyHandleTest ()
1253 handle_destroyed_count = 0;
1255 MyForm f1 = new MyForm ();
1256 f1.HandleDestroyed += new EventHandler (handle_destroyed);
1258 f1.DoDestroyHandle ();
1259 Assert.AreEqual (1, handle_destroyed_count, "1");
1262 f1.HandleDestroyed += new EventHandler (handle_destroyed);
1264 f1.DoRecreateHandle ();
1265 Assert.AreEqual (2, handle_destroyed_count, "2");
1269 public void FormClose ()
1271 Form myform = new Form ();
1272 myform.ShowInTaskbar = false;
1274 Assert.IsFalse (myform.Visible, "A1");
1275 Assert.IsFalse (myform.IsDisposed, "A2");
1279 Assert.IsFalse (myform.Visible, "A3");
1280 Assert.IsFalse (myform.IsDisposed, "A4");
1284 Assert.IsTrue (myform.Visible, "A5");
1285 Assert.IsFalse (myform.IsDisposed, "A6");
1289 Assert.IsFalse (myform.Visible, "A7");
1290 Assert.IsTrue (myform.IsDisposed, "A8");
1294 public void FormClose2 ()
1296 WMCloseWatcher f = new WMCloseWatcher ();
1297 f.ShowInTaskbar = false;
1300 Assert.IsFalse (f.Visible, "A1");
1302 Assert.AreEqual (0, f.close_count, "A2");
1307 Assert.AreEqual (1, f.close_count, "A3");
1310 class WMCloseWatcher : Form {
1311 public int close_count;
1313 protected override void WndProc (ref Message msg) {
1314 if (msg.Msg == 0x0010 /* WM_CLOSE */) {
1318 base.WndProc (ref msg);
1322 class SwallowOnActivated : Form {
1323 protected override void OnActivated (EventArgs e)
1328 protected override void OnCreateControl () {
1329 base.OnCreateControl ();
1333 class EnterTest : Button {
1334 protected override void OnEnter (EventArgs e)
1340 public bool on_enter;
1344 public void OnActivateEventHandlingTest1 ()
1346 if (RunningOnUnix) {
1347 Assert.Ignore ("Relies on form.Show() synchronously generating WM_ACTIVATE");
1350 SwallowOnActivated f = new SwallowOnActivated ();
1352 f.ShowInTaskbar = false;
1354 EnterTest c = new EnterTest ();
1359 Assert.IsTrue (c.on_enter, "1");
1366 public void FormClosingEvents ()
1369 Form f = new Form ();
1370 string events = string.Empty;
1372 f.Closing += new CancelEventHandler (delegate (Object obj, CancelEventArgs e) { events += ("Closing;"); });
1373 f.FormClosing += new FormClosingEventHandler (delegate (Object obj, FormClosingEventArgs e) { events += string.Format ("FormClosing [Reason:{0} - Cancel:{1}]", e.CloseReason, e.Cancel); });
1378 Assert.AreEqual ("Closing;FormClosing [Reason:UserClosing - Cancel:False]", events, "A1");
1382 public void FormClosingEventsCancel ()
1384 // Shows that setting Cancel in Closing flows through to FormClosing
1385 Form f = new Form ();
1386 string events = string.Empty;
1388 f.Closing += new CancelEventHandler (delegate (Object obj, CancelEventArgs e) { events += ("Closing;"); e.Cancel = true; });
1389 f.FormClosing += new FormClosingEventHandler (delegate (Object obj, FormClosingEventArgs e) { events += string.Format("FormClosing [Reason:{0} - Cancel:{1}]", e.CloseReason, e.Cancel); e.Cancel = false; });
1394 Assert.AreEqual ("Closing;FormClosing [Reason:UserClosing - Cancel:True]", events, "A1");
1398 public void FormClosedEvents ()
1401 Form f = new Form ();
1402 string events = string.Empty;
1404 f.Closed += new EventHandler (delegate (Object obj, EventArgs e) { events += ("Closed;"); });
1405 f.FormClosed += new FormClosedEventHandler (delegate (Object obj, FormClosedEventArgs e) { events += string.Format ("FormClosed [Reason:{0}]", e.CloseReason); });
1410 Assert.AreEqual ("Closed;FormClosed [Reason:UserClosing]", events, "A1");
1414 public void ShowWithOwner ()
1416 Form f = new Form ();
1417 Button b = new Button ();
1420 Form f2 = new Form ();
1424 Assert.AreSame (f, f2.Owner, "A1");
1429 Assert.AreSame (f, f2.Owner, "A2");
1431 Button b2 = new Button ();
1435 Assert.AreEqual (null, f2.Owner, "A3");
1439 Assert.AreEqual (null, f2.Owner, "A4");
1443 [ExpectedException (typeof (InvalidOperationException))]
1444 public void ShowWithOwnerIOE ()
1446 Form f = new Form ();
1450 [Test] // Bug #79959, #80574, #80791
1451 [Category ("NotWorking")]
1452 public void BehaviorResizeOnBorderStyleChanged ()
1454 // Marked NotWorking because the ClientSize is dependent on the WM.
1455 // The values below match XP Luna to make sure our behavior is the same.
1456 Form f = new Form ();
1457 f.ShowInTaskbar = false;
1460 Assert.AreEqual (true, f.IsHandleCreated, "A0");
1462 Assert.AreEqual (new Size (300, 300), f.Size, "A1");
1463 Assert.AreEqual (new Size (292, 266), f.ClientSize, "A2");
1465 f.FormBorderStyle = FormBorderStyle.Fixed3D;
1466 Assert.AreEqual (new Size (302, 302), f.Size, "A3");
1467 Assert.AreEqual (new Size (292, 266), f.ClientSize, "A4");
1469 f.FormBorderStyle = FormBorderStyle.FixedDialog;
1470 Assert.AreEqual (new Size (298, 298), f.Size, "A5");
1471 Assert.AreEqual (new Size (292, 266), f.ClientSize, "A6");
1473 f.FormBorderStyle = FormBorderStyle.FixedSingle;
1474 Assert.AreEqual (new Size (298, 298), f.Size, "A7");
1475 Assert.AreEqual (new Size (292, 266), f.ClientSize, "A8");
1477 f.FormBorderStyle = FormBorderStyle.FixedToolWindow;
1478 Assert.AreEqual (new Size (298, 290), f.Size, "A9");
1479 Assert.AreEqual (new Size (292, 266), f.ClientSize, "A0");
1481 f.FormBorderStyle = FormBorderStyle.None;
1482 Assert.AreEqual (new Size (292, 266), f.Size, "A11");
1483 Assert.AreEqual (new Size (292, 266), f.ClientSize, "A12");
1485 f.FormBorderStyle = FormBorderStyle.SizableToolWindow;
1486 Assert.AreEqual (new Size (300, 292), f.Size, "A13");
1487 Assert.AreEqual (new Size (292, 266), f.ClientSize, "A14");
1489 f.FormBorderStyle = FormBorderStyle.Sizable;
1490 Assert.AreEqual (new Size (300, 300), f.Size, "A15");
1491 Assert.AreEqual (new Size (292, 266), f.ClientSize, "A16");
1496 [Test] // Bug #80574, #80791
1497 [Category ("NotWorking")]
1498 public void BehaviorResizeOnBorderStyleChangedNotVisible ()
1500 // Marked NotWorking because the ClientSize is dependent on the WM.
1501 // The values below match XP Luna to make sure our behavior is the same.
1502 Form f = new Form ();
1503 f.ShowInTaskbar = false;
1505 Assert.AreEqual (false, f.IsHandleCreated, "A0");
1507 Assert.AreEqual (new Size (300, 300), f.Size, "A1");
1508 Assert.AreEqual (new Size (292, 266), f.ClientSize, "A2");
1510 f.FormBorderStyle = FormBorderStyle.Fixed3D;
1511 Assert.AreEqual (new Size (300, 300), f.Size, "A3");
1512 Assert.AreEqual (new Size (292, 266), f.ClientSize, "A4");
1514 f.FormBorderStyle = FormBorderStyle.FixedDialog;
1515 Assert.AreEqual (new Size (300, 300), f.Size, "A5");
1516 Assert.AreEqual (new Size (292, 266), f.ClientSize, "A6");
1518 f.FormBorderStyle = FormBorderStyle.FixedSingle;
1519 Assert.AreEqual (new Size (300, 300), f.Size, "A7");
1520 Assert.AreEqual (new Size (292, 266), f.ClientSize, "A8");
1522 f.FormBorderStyle = FormBorderStyle.FixedToolWindow;
1523 Assert.AreEqual (new Size (300, 300), f.Size, "A9");
1524 Assert.AreEqual (new Size (292, 266), f.ClientSize, "A0");
1526 f.FormBorderStyle = FormBorderStyle.None;
1527 Assert.AreEqual (new Size (300, 300), f.Size, "A11");
1528 Assert.AreEqual (new Size (292, 266), f.ClientSize, "A12");
1530 f.FormBorderStyle = FormBorderStyle.SizableToolWindow;
1531 Assert.AreEqual (new Size (300, 300), f.Size, "A13");
1532 Assert.AreEqual (new Size (292, 266), f.ClientSize, "A14");
1534 f.FormBorderStyle = FormBorderStyle.Sizable;
1535 Assert.AreEqual (new Size (300, 300), f.Size, "A15");
1536 Assert.AreEqual (new Size (292, 266), f.ClientSize, "A16");
1539 [Test] // Bug #80574, #80791
1540 [Category ("NotWorking")]
1541 public void MoreBehaviorResizeOnBorderStyleChangedNotVisible ()
1543 // Marked NotWorking because the ClientSize is dependent on the WM.
1544 // The values below match XP Luna to make sure our behavior is the same.
1545 Form f = new Form ();
1546 f.ShowInTaskbar = false;
1551 Assert.AreEqual (true, f.IsHandleCreated, "A0");
1553 f.FormBorderStyle = FormBorderStyle.Sizable;
1554 Assert.AreEqual (new Size (300, 300), f.Size, "A1");
1555 Assert.AreEqual (new Size (292, 266), f.ClientSize, "A2");
1556 f.FormBorderStyle = FormBorderStyle.None;
1557 Assert.AreEqual (new Size (292, 266), f.Size, "A3");
1558 Assert.AreEqual (new Size (292, 266), f.ClientSize, "A4");
1562 [Test] // Bug #80773
1563 public void DontSetOwnerOnShowDialogException ()
1565 Form f = new Form ();
1566 f.ShowInTaskbar = false;
1568 try { f.ShowDialog (f); }
1571 Assert.AreEqual (null, f.Owner, "H1");
1574 private bool RunningOnUnix {
1576 // check for Unix platforms - see FAQ for more details
1577 // http://www.mono-project.com/FAQ:_Technical#How_to_detect_the_execution_platform_.3F
1578 int platform = (int) Environment.OSVersion.Platform;
1579 return ((platform == 4) || (platform == 128));
1583 private class MockForm : Form
1585 public bool CloseOnLoad {
1586 get { return _closeOnLoad; }
1587 set { _closeOnLoad = value; }
1590 public bool VisibleOnLoad {
1591 get { return _visibleOnLoad; }
1594 protected override void OnLoad(EventArgs e) {
1596 _visibleOnLoad = Visible;
1601 private bool _closeOnLoad;
1602 private bool _visibleOnLoad;