2 // MdiFormTest.cs: Test cases for MDI Forms.
5 // Rolf Bjarne Kvinge (RKvinge@novell.com)
7 // (C) 2006 Novell, Inc. (http://www.novell.com)
12 using System.Reflection;
13 using System.Windows.Forms;
14 using System.ComponentModel;
15 using NUnit.Framework;
16 using CategoryAttribute = NUnit.Framework.CategoryAttribute;
18 namespace MonoTests.System.Windows.Forms
21 public class MdiFormTest
29 public void TearDown ()
45 // No attribute here since this is supposed to be called from
46 // each test directly, not by nunit.
47 public void SetUp (bool only_create, bool only_text)
49 SetUp (only_create, only_text, false);
52 // No attribute here since this is supposed to be called from
53 // each test directly, not by nunit.
54 public void SetUp (bool only_create, bool only_text, bool set_parent)
66 main.Text = main.Name = "main";
67 main.ShowInTaskbar = false;
68 child1.Text = child1.Name = "child1";
69 child2.Text = child2.Name = "child2";
70 child3.Text = child3.Name = "child3";
75 main.IsMdiContainer = true;
78 child1.MdiParent = main;
79 child2.MdiParent = main;
80 child3.MdiParent = main;
85 public void ActiveControlTest ()
87 SetUp (false, false, true);
91 Assert.IsNull (main.ActiveControl, "#01");
92 child1.Visible = true;
93 Assert.AreSame (child1, main.ActiveControl, "#02");
94 child2.Visible = true;
95 Assert.AreSame (child2, main.ActiveControl, "#03");
96 child3.Visible = true;
97 Assert.AreSame (child3, main.ActiveControl, "#04");
102 public void SelectNextControlTest ()
104 SetUp (false, false, true);
108 child1.Visible = true;
109 child2.Visible = true;
110 child3.Visible = true;
112 main.SelectNextControl (main.ActiveControl, true, false, true, true);
113 Assert.AreSame (child1, main.ActiveControl, "#01");
114 main.SelectNextControl (main.ActiveControl, true, false, true, true);
115 Assert.AreSame (child2, main.ActiveControl, "#02");
116 main.SelectNextControl (main.ActiveControl, true, false, true, true);
117 Assert.AreSame (child3, main.ActiveControl, "#03");
123 public void SelectPreviousControlTest ()
125 SetUp (false, false, true);
129 child1.Visible = true;
130 child2.Visible = true;
131 child3.Visible = true;
133 main.SelectNextControl (main.ActiveControl, false, false, true, true);
134 Assert.AreSame (child2, main.ActiveControl, "#01");
135 main.SelectNextControl (main.ActiveControl, false, false, true, true);
136 Assert.AreSame (child1, main.ActiveControl, "#02");
137 main.SelectNextControl (main.ActiveControl, false, false, true, true);
138 Assert.AreSame (child3, main.ActiveControl, "#03");
144 public class CloseTest
146 class ChildForm : Form
150 Closed += new EventHandler (ChildForm_Closed);
151 Closing += new CancelEventHandler (ChildForm_Closing);
153 FormClosed += new FormClosedEventHandler (ChildForm_FormClosed);
154 FormClosing += new FormClosingEventHandler (ChildForm_FormClosing);
158 void ChildForm_FormClosing (object sender, FormClosingEventArgs e)
160 Assert.IsNotNull (MdiParent, "ChildForm_FormClosing");
163 void ChildForm_FormClosed (object sender, FormClosedEventArgs e)
165 Assert.IsNotNull (MdiParent, "ChildForm_FormClosed");
168 void ChildForm_Closing (object sender, CancelEventArgs e)
170 Assert.IsNotNull (MdiParent, "ChildForm_Closing");
173 void ChildForm_Closed (object sender, EventArgs e)
175 Assert.IsNotNull (MdiParent, "ChildForm_Closed");
178 protected override void OnClosed (EventArgs e)
180 Assert.IsNotNull (MdiParent, "OnClosed 1");
182 Assert.IsNotNull (MdiParent, "OnClosed 2");
185 protected override void OnClosing (CancelEventArgs e)
187 Assert.IsNotNull (MdiParent, "OnClosing 1");
189 Assert.IsNotNull (MdiParent, "OnClosing 2");
194 public void Test () {
195 using (Form main = new Form ()) {
196 main.IsMdiContainer = true;
197 main.ShowInTaskbar = false;
200 ChildForm child = new ChildForm ();
201 EventLogger log = new EventLogger (child);
202 child.MdiParent = main;
203 child.Visible = true;
206 Assert.AreEqual (1, log.CountEvents ("Closed"), "#01");
207 Assert.AreEqual (1, log.CountEvents ("Closing"), "#02");
208 Assert.IsNull (child.MdiParent, "#03");
209 Assert.AreEqual (0, main.MdiChildren.Length, "#04");
210 Assert.AreEqual (false, child.IsMdiChild, "#05");
215 [Category("NotWorking")]
217 public void StartLocationTest1 ()
219 SetUp (false, false);
221 child1.MdiParent = main;
222 child2.MdiParent = main;
224 child1.Visible = true;
225 child2.Visible = true;
229 Assert.AreEqual ("{X=0,Y=0}", child1.Location.ToString (), "#1");
230 Assert.AreEqual ("{X=22,Y=22}", child2.Location.ToString (), "#2");
235 [Category("NotWorking")]
237 public void StartLocationTest2 ()
239 SetUp (false, false);
241 child1.MdiParent = main;
242 child2.MdiParent = main;
244 child1.StartPosition = FormStartPosition.Manual;
246 child1.Visible = true;
247 child2.Visible = true;
251 Assert.AreEqual ("{X=0,Y=0}", child1.Location.ToString (), "#1");
252 Assert.AreEqual ("{X=22,Y=22}", child2.Location.ToString (), "#2");
258 [Category("NotWorking")]
260 public void StartLocationTest3 ()
262 SetUp (false, false);
264 child1.MdiParent = main;
265 child2.MdiParent = main;
267 child2.StartPosition = FormStartPosition.Manual;
269 child1.Visible = true;
270 child2.Visible = true;
274 Assert.AreEqual ("{X=0,Y=0}", child1.Location.ToString (), "#1");
275 Assert.AreEqual ("{X=0,Y=0}", child2.Location.ToString (), "#2");
280 [Category("NotWorking")]
282 public void StartLocationTest4 ()
284 SetUp (false, false);
286 child1.MdiParent = main;
287 child2.MdiParent = main;
289 child1.StartPosition = FormStartPosition.Manual;
290 child2.StartPosition = FormStartPosition.Manual;
292 child1.Visible = true;
293 child2.Visible = true;
297 Assert.AreEqual ("{X=0,Y=0}", child1.Location.ToString (), "#1");
298 Assert.AreEqual ("{X=0,Y=0}", child2.Location.ToString (), "#2");
303 [Category("NotWorking")]
305 public void StartLocationTest5 ()
307 SetUp (false, false);
309 child1.MdiParent = main;
310 child2.MdiParent = main;
311 child3.MdiParent = main;
313 child2.StartPosition = FormStartPosition.Manual;
315 child1.Visible = true;
316 child2.Visible = true;
317 child3.Visible = true;
321 Assert.AreEqual ("{X=0,Y=0}", child1.Location.ToString (), "#1");
322 Assert.AreEqual ("{X=0,Y=0}", child2.Location.ToString (), "#2");
323 Assert.AreEqual ("{X=44,Y=44}", child3.Location.ToString (), "#3");
328 [Category("NotWorking")]
330 public void StartLocationTest6 ()
332 SetUp (false, false);
334 child1.MdiParent = main;
335 child2.MdiParent = main;
336 child3.MdiParent = main;
338 child2.StartPosition = FormStartPosition.CenterParent;
340 child1.Visible = true;
341 child2.Visible = true;
342 child3.Visible = true;
346 Assert.AreEqual ("{X=0,Y=0}", child1.Location.ToString (), "#1");
347 Assert.AreEqual ("{X=22,Y=22}", child2.Location.ToString (), "#2");
348 Assert.AreEqual ("{X=44,Y=44}", child3.Location.ToString (), "#3");
353 [Category("NotWorking")]
355 public void StartLocationTest7 ()
357 SetUp (false, false);
359 child1.MdiParent = main;
360 child2.MdiParent = main;
361 child3.MdiParent = main;
363 child2.StartPosition = FormStartPosition.CenterScreen;
365 child1.Visible = true;
366 child2.Visible = true;
367 child3.Visible = true;
371 Assert.AreEqual ("{X=0,Y=0}", child1.Location.ToString (), "#1");
372 Assert.AreEqual ("{X=0,Y=0}", child2.Location.ToString (), "#2");
373 Assert.AreEqual ("{X=44,Y=44}", child3.Location.ToString (), "#3");
378 [Category("NotWorking")]
380 public void StartLocationTest8 ()
382 SetUp (false, false);
384 child1.MdiParent = main;
385 child2.MdiParent = main;
386 child3.MdiParent = main;
388 child2.StartPosition = FormStartPosition.WindowsDefaultBounds;
390 child1.Visible = true;
391 child2.Visible = true;
392 child3.Visible = true;
396 Assert.AreEqual ("{X=0,Y=0}", child1.Location.ToString (), "#1");
397 Assert.AreEqual ("{X=22,Y=22}", child2.Location.ToString (), "#2");
398 Assert.AreEqual ("{X=44,Y=44}", child3.Location.ToString (), "#3");
403 [Category("NotWorking")]
405 public void StartLocationTest9 ()
407 SetUp (false, false);
409 child1.MdiParent = main;
410 child2.MdiParent = main;
411 child3.MdiParent = main;
413 child2.StartPosition = FormStartPosition.WindowsDefaultLocation;
415 child1.Visible = true;
416 child2.Visible = true;
417 child3.Visible = true;
421 Assert.AreEqual ("{X=0,Y=0}", child1.Location.ToString (), "#1");
422 Assert.AreEqual ("{X=22,Y=22}", child2.Location.ToString (), "#2");
423 Assert.AreEqual ("{X=44,Y=44}", child3.Location.ToString (), "#3");
428 [Category("NotWorking")]
430 public void StartLocationTest10 ()
432 SetUp (false, false);
434 child1.MdiParent = main;
435 child2.MdiParent = main;
436 child3.MdiParent = main;
438 child2.StartPosition = FormStartPosition.Manual;
439 child2.Location = new Point (123, 123);
441 child1.Visible = true;
442 child2.Visible = true;
443 child3.Visible = true;
447 Assert.AreEqual ("{X=0,Y=0}", child1.Location.ToString (), "#1");
448 Assert.AreEqual ("{X=123,Y=123}", child2.Location.ToString (), "#2");
449 Assert.AreEqual ("{X=44,Y=44}", child3.Location.ToString (), "#3");
454 [Category("NotWorking")]
456 public void StartLocationTest11 ()
458 SetUp (false, false);
460 child1.MdiParent = main;
461 child2.MdiParent = main;
462 child3.MdiParent = main;
464 child2.Location = new Point (123, 123);
466 Assert.AreEqual ("{X=123,Y=123}", child2.Location.ToString (), "#0");
468 child1.Visible = true;
469 child2.Visible = true;
470 child3.Visible = true;
472 Assert.AreEqual ("{X=123,Y=123}", child2.Location.ToString (), "#0");
476 Assert.AreEqual ("{X=0,Y=0}", child1.Location.ToString (), "#1");
477 Assert.AreEqual ("{X=22,Y=22}", child2.Location.ToString (), "#2");
478 Assert.AreEqual ("{X=44,Y=44}", child3.Location.ToString (), "#3");
483 [Category("NotWorking")]
485 public void StartLocationTest12 ()
487 SetUp (false, false);
489 child1.MdiParent = main;
490 child2.MdiParent = main;
491 child3.MdiParent = main;
493 child1.Visible = true;
494 //child2.Visible = true;
495 child3.Visible = true;
499 Assert.AreEqual ("{X=0,Y=0}", child1.Location.ToString (), "#1");
500 Assert.AreEqual ("{X=0,Y=0}", child2.Location.ToString (), "#2");
501 Assert.AreEqual ("{X=22,Y=22}", child3.Location.ToString (), "#3");
503 child2.Visible = true;
504 Assert.AreEqual ("{X=44,Y=44}", child2.Location.ToString (), "#4");
506 child1.Visible = false;
507 child1.Visible = true;
508 Assert.AreEqual ("{X=66,Y=66}", child1.Location.ToString (), "#1");
513 [Category("NotWorking")]
515 public void StartLocationTest13 ()
517 SetUp (false, false);
519 child1.MdiParent = main;
520 child2.MdiParent = main;
521 child3.MdiParent = main;
523 child1.Visible = true;
524 //child2.Visible = true;
525 child3.Visible = true;
529 Assert.AreEqual ("{X=0,Y=0}", child1.Location.ToString (), "#1");
530 Assert.AreEqual ("{X=0,Y=0}", child2.Location.ToString (), "#2");
531 Assert.AreEqual ("{X=22,Y=22}", child3.Location.ToString (), "#3");
533 child2.Visible = true;
534 Assert.AreEqual ("{X=44,Y=44}", child2.Location.ToString (), "#4");
536 child1.Visible = false;
537 child1.Visible = true;
538 Assert.AreEqual ("{X=66,Y=66}", child1.Location.ToString (), "#5");
540 child3.Visible = true;
541 Assert.AreEqual ("{X=22,Y=22}", child3.Location.ToString (), "#6");
543 // MDI Child size does not seem to affect layout.
545 child2.Visible = false;
546 child2.Size = new Size (500, 500);
547 child2.Visible = true;
548 Assert.AreEqual ("{X=88,Y=88}", child2.Location.ToString (), "#7");
550 child2.Visible = false;
551 child2.Visible = true;
552 Assert.AreEqual ("{X=0,Y=0}", child2.Location.ToString (), "#8");
554 child2.Visible = false;
555 child2.Visible = true;
556 Assert.AreEqual ("{X=22,Y=22}", child2.Location.ToString (), "#9");
559 child2.Visible = false;
560 child2.Size = new Size (5, 5);
561 child2.Visible = true;
562 Assert.AreEqual ("{X=44,Y=44}", child2.Location.ToString (), "#10");
564 child2.Visible = false;
565 child2.Visible = true;
566 Assert.AreEqual ("{X=66,Y=66}", child2.Location.ToString (), "#11");
568 child2.Visible = false;
569 child2.Visible = true;
570 Assert.AreEqual ("{X=88,Y=88}", child2.Location.ToString (), "#12");
572 child2.Visible = false;
573 child2.Visible = true;
574 Assert.AreEqual ("{X=0,Y=0}", child2.Location.ToString (), "#13");
579 [Category("NotWorking")]
581 public void StartLocationTest14 ()
583 SetUp (false, false);
585 child1.MdiParent = main;
586 child2.MdiParent = main;
587 child3.MdiParent = main;
589 child2.StartPosition = FormStartPosition.Manual;
590 child2.Location = new Point (44, 44);
591 child1.Visible = true;
592 child2.Visible = true;
593 child3.Visible = true;
597 Assert.AreEqual ("{X=0,Y=0}", child1.Location.ToString (), "#1");
598 Assert.AreEqual ("{X=44,Y=44}", child2.Location.ToString (), "#2");
599 Assert.AreEqual ("{X=44,Y=44}", child3.Location.ToString (), "#3");
601 child1.Visible = false;
602 child1.Visible = true;
603 Assert.AreEqual ("{X=66,Y=66}", child1.Location.ToString (), "#4");
608 [Category("NotWorking")]
610 public void StartLocationTest15 ()
612 SetUp (false, false);
614 child1.MdiParent = main;
615 child2.MdiParent = main;
616 child3.MdiParent = main;
620 child1.Visible = true;
621 child2.Visible = true;
622 child2.Location = new Point (22, 44);
623 child3.Visible = true;
625 Assert.AreEqual ("{X=0,Y=0}", child1.Location.ToString (), "#1");
626 Assert.AreEqual ("{X=22,Y=44}", child2.Location.ToString (), "#2");
627 Assert.AreEqual ("{X=44,Y=44}", child3.Location.ToString (), "#3");
629 child1.Visible = false;
630 child1.Visible = true;
631 Assert.AreEqual ("{X=66,Y=66}", child1.Location.ToString (), "#4");
636 [Category("NotWorking")]
638 public void StartLocationTest16 ()
640 SetUp (false, false);
642 child1.MdiParent = main;
643 child2.MdiParent = main;
644 child3.MdiParent = main;
646 child1.Visible = true;
647 child2.Visible = true;
648 child2.Location = new Point (22, 44);
649 child3.Visible = true;
653 Assert.AreEqual ("{X=0,Y=0}", child1.Location.ToString (), "#1");
654 Assert.AreEqual ("{X=22,Y=22}", child2.Location.ToString (), "#2");
655 Assert.AreEqual ("{X=44,Y=44}", child3.Location.ToString (), "#3");
657 child1.Visible = false;
658 child1.Visible = true;
659 Assert.AreEqual ("{X=66,Y=66}", child1.Location.ToString (), "#4");
664 [Category("NotWorking")]
666 public void StartLocationTest17 ()
668 SetUp (false, false);
670 child1.MdiParent = main;
671 child2.MdiParent = main;
672 child3.MdiParent = main;
674 child1.Visible = true;
675 child2.Visible = true;
679 Assert.AreEqual ("{X=0,Y=0}", child1.Location.ToString (), "#1");
680 Assert.AreEqual ("{X=22,Y=22}", child2.Location.ToString (), "#2");
681 Assert.AreEqual ("{X=0,Y=0}", child3.Location.ToString (), "#3");
683 child2.Visible = false;
684 child3.Visible = true;
686 Assert.AreEqual ("{X=44,Y=44}", child3.Location.ToString (), "#4");
691 [Category("NotWorking")]
693 public void StartLocationTest18 ()
695 SetUp (false, false);
697 child1.MdiParent = main;
698 child2.MdiParent = main;
699 child3.MdiParent = main;
701 child1.Visible = true;
702 child2.Visible = true;
706 Assert.AreEqual ("{X=0,Y=0}", child1.Location.ToString (), "#1");
707 Assert.AreEqual ("{X=22,Y=22}", child2.Location.ToString (), "#2");
708 Assert.AreEqual ("{X=0,Y=0}", child3.Location.ToString (), "#3");
710 child2.Visible = false;
715 child3.Visible = true;
717 Assert.AreEqual ("{X=44,Y=44}", child3.Location.ToString (), "#4");
722 [Category("NotWorking")]
724 public void StartLocationTest19 ()
726 SetUp (false, false);
728 child1.MdiParent = main;
729 child2.MdiParent = main;
730 child3.MdiParent = main;
732 child1.Visible = true;
733 child2.Visible = true;
734 child3.Visible = true;
736 child1.StartPosition = FormStartPosition.Manual;
737 child2.StartPosition = FormStartPosition.Manual;
738 child3.StartPosition = FormStartPosition.Manual;
742 Assert.AreEqual ("{X=0,Y=0}", child1.Location.ToString (), "#1");
743 Assert.AreEqual ("{X=0,Y=0}", child2.Location.ToString (), "#2");
744 Assert.AreEqual ("{X=0,Y=0}", child3.Location.ToString (), "#3");
750 public void StartSizeTest1 ()
752 SetUp (false, false);
754 child1.MdiParent = main;
755 child2.MdiParent = main;
756 child3.MdiParent = main;
760 Assert.AreEqual ("{Width=300, Height=300}", main.Size.ToString (), "#1");
761 Assert.AreEqual ("{Width=300, Height=300}", child1.Size.ToString (), "#2");
762 Assert.AreEqual ("{Width=300, Height=300}", child2.Size.ToString (), "#3");
763 Assert.AreEqual ("{Width=300, Height=300}", child3.Size.ToString (), "#4");
765 child1.Visible = true;
766 child2.Visible = true;
767 child3.Visible = true;
769 Assert.AreEqual ("{Width=300, Height=300}", main.Size.ToString (), "#1");
770 Assert.AreEqual ("{Width=300, Height=300}", child1.Size.ToString (), "#2");
771 Assert.AreEqual ("{Width=300, Height=300}", child2.Size.ToString (), "#3");
772 Assert.AreEqual ("{Width=300, Height=300}", child3.Size.ToString (), "#4");
778 public void IsMdiContainerTest ()
783 main.Visible = false;
785 main.IsMdiContainer = true;
787 child1.MdiParent = main;
789 main.IsMdiContainer = false;
791 Assert.AreSame (null, main.ActiveMdiChild, "#1");
794 Assert.AreSame (null, main.ActiveMdiChild, "#2");
796 Assert.AreSame (null, main.MdiParent, "#3");
801 [Category("NotWorking")]
803 [ExpectedException(typeof(ArgumentException), "Cannot add a top level control to a control.")]
804 public void AddToControlsTest ()
809 main.Visible = false;
811 main.Controls.Add (child1);
819 Form main = null, child1 = null, child2 = null, child3 = null;
822 main.IsMdiContainer = true;
824 main.Text = main.Name;
827 Assert.AreEqual ("main", main.Text, "#1");
829 child1 = new Form ();
830 child1.Name = "child1";
831 child1.MdiParent = main;
832 child1.Text = child1.Name;
833 child1.WindowState = FormWindowState.Maximized;
836 Assert.AreEqual ("main - [child1]", main.Text, "#2");
838 child2 = new Form ();
839 child2.Name = "child2";
840 child1.MdiParent = main;
841 child2.Text = string.Empty;
842 child2.WindowState = FormWindowState.Maximized;
845 Assert.AreEqual ("main - [child1]", main.Text, "#3");
848 Assert.AreEqual ("main - [child1]", main.Text, "#4");
850 child1.WindowState = FormWindowState.Minimized;
851 Assert.AreEqual ("main", main.Text, "#5");
854 Assert.AreEqual ("main", main.Text, "#6");
856 child2.WindowState = FormWindowState.Maximized;
857 Assert.AreEqual ("main", main.Text, "#7");
859 child3 = new Form ();
860 child3.Name = "child3";
861 child3.MdiParent = main;
862 child3.Text = child3.Name;
863 child3.WindowState = FormWindowState.Maximized;
866 Assert.AreEqual ("main - [child3]", main.Text, "#8");
867 child3.WindowState = FormWindowState.Normal;
868 Assert.AreEqual ("main", main.Text, "#9");
870 main.Text = string.Empty;
871 child3.WindowState = FormWindowState.Maximized;
872 Assert.AreEqual (" - [child3]", main.Text, "#10");
874 child3.Text = string.Empty;
875 Assert.AreEqual (string.Empty, main.Text, "#11");
884 public void Text_MdiContainer ()
886 Form main = new Form ();
887 main.ShowInTaskbar = false;
889 main.IsMdiContainer = true;
892 Assert.AreEqual ("main", main.Text, "#1");
894 Form child = new Form ();
895 child.Name = "child";
896 child.MdiParent = main;
897 child.Text = child.Name;
898 child.WindowState = FormWindowState.Maximized;
901 Assert.AreEqual ("main - [child]", main.Text, "#2");
907 public void Text_ChildClose ()
909 Form main = new Form ();
910 main.ShowInTaskbar = false;
911 main.IsMdiContainer = true;
915 Assert.AreEqual ("main", main.Text, "#1");
917 Form child = new Form ();
918 child.Name = "child";
919 child.MdiParent = main;
920 child.Text = child.Name;
921 child.WindowState = FormWindowState.Maximized;
924 Assert.AreEqual ("main - [child]", main.Text, "#2");
927 Assert.AreEqual ("main", main.Text, "#3");
933 public void Text_Maximized ()
935 Form main = new Form ();
936 main.IsMdiContainer = true;
938 main.Text = main.Name;
941 Assert.AreEqual ("main", main.Text, "#1");
943 Form child1 = new Form ();
944 child1.Name = "child1";
945 child1.MdiParent = main;
946 child1.Text = child1.Name;
947 child1.WindowState = FormWindowState.Maximized;
950 Assert.AreEqual ("main - [child1]", main.Text, "#2");
952 Form child2 = new Form ();
953 child2.Name = "child2";
954 child2.MdiParent = main;
955 child2.Text = child2.Name;
956 child2.WindowState = FormWindowState.Maximized;
959 Assert.AreEqual ("main - [child2]", main.Text, "#3");
961 child1.WindowState = FormWindowState.Maximized;
963 Assert.AreEqual ("main - [child1]", main.Text, "#4");
969 [Category ("NotWorking")]
970 public void TopLevelTest ()
975 main.IsMdiContainer = true;
978 child1 = new Form ();
979 child1.Name = "child1";
980 Assert.AreEqual (true, child1.TopLevel, "#01");
981 child1.MdiParent = main;
982 Assert.AreEqual (false, child1.TopLevel, "#02");
988 public void ActiveMdiChild ()
990 Form main, child1, child2;
993 main.IsMdiContainer = true;
996 child1 = new Form ();
997 child1.Name = "child1";
998 child1.MdiParent = main;
999 child1.WindowState = FormWindowState.Maximized;
1002 child2 = new Form ();
1003 child2.Name = "child2";
1004 child2.MdiParent = main;
1007 Assert.IsNull (main.ActiveMdiChild, "#1");
1010 Assert.AreSame (child2, main.ActiveMdiChild, "#2");
1012 child1.WindowState = FormWindowState.Maximized;
1013 Assert.AreSame (child1, main.ActiveMdiChild, "#3");
1015 child2.WindowState = FormWindowState.Maximized;
1016 Assert.AreSame (child2, main.ActiveMdiChild, "#4");
1018 main.Visible = false;
1020 Assert.IsNull (main.ActiveMdiChild, "#5");
1022 Assert.AreSame (child2, main.ActiveMdiChild, "#5");
1032 public void ActiveMdiChild2 ()
1034 SetUp (false, false);
1036 child1.MdiParent = main;
1037 child2.MdiParent = main;
1044 child1.Visible = false;
1046 Assert.AreSame (child2, main.ActiveMdiChild, "#1");
1052 public void ActiveMdiChild3 ()
1054 SetUp (false, false);
1056 child1.MdiParent = main;
1057 child2.MdiParent = main;
1059 main.Visible = true;
1060 main.Visible = false;
1062 Assert.AreSame (null, main.ActiveMdiChild, "#1");
1063 //child2.Visible = true; This will cause StackOverflowException on MS.
1064 main.Visible = true;
1065 Assert.AreSame (null, main.ActiveMdiChild, "#2");
1070 public void MdiChild_WindowState1 ()
1072 Form main = null, child1 = null, child2 = null;
1076 main.IsMdiContainer = true;
1079 child1 = new Form ();
1080 child1.Name = "child1";
1081 child1.Text = "child1";
1082 child1.MdiParent = main;
1083 child1.WindowState = FormWindowState.Maximized;
1086 child2 = new Form ();
1087 child2.Name = "child2";
1088 child2.Text = "child2";
1089 child2.MdiParent = main;
1092 Assert.AreEqual (FormWindowState.Maximized, child1.WindowState, "#1");
1093 Assert.AreEqual (FormWindowState.Normal, child2.WindowState, "#2");
1095 Assert.AreEqual (FormWindowState.Normal, child1.WindowState, "#3");
1096 Assert.AreEqual (FormWindowState.Maximized, child2.WindowState, "#4");
1106 public void MdiChild_WindowState2 ()
1108 Form main = null, child1 = null, child2 = null;
1113 main.IsMdiContainer = true;
1116 child1 = new Form ();
1117 child1.Name = "child1";
1118 child1.MdiParent = main;
1119 child1.WindowState = FormWindowState.Maximized;
1122 child2 = new Form ();
1123 child2.Name = "child2";
1124 child2.MdiParent = main;
1128 Assert.AreEqual (FormWindowState.Normal, child1.WindowState, "#1");
1129 Assert.AreEqual (FormWindowState.Maximized, child2.WindowState, "#2");
1140 public void MdiChild_WindowState3 ()
1142 Form main = null, child1 = null, child2 = null;
1145 main.IsMdiContainer = true;
1148 child1 = new Form ();
1149 child1.MdiParent = main;
1152 child2 = new Form ();
1153 child2.MdiParent = main;
1154 child2.WindowState = FormWindowState.Maximized;
1157 Assert.AreEqual (FormWindowState.Normal, child1.WindowState, "#1");
1158 Assert.AreEqual (FormWindowState.Maximized, child2.WindowState, "#2");
1169 public void MdiChild_WindowState4 ()
1171 Form main = null, child1 = null, child2 = null;
1174 main.IsMdiContainer = true;
1177 child1 = new Form ();
1178 child1.MdiParent = main;
1179 child1.WindowState = FormWindowState.Maximized;
1182 child2 = new Form ();
1183 child2.MdiParent = main;
1184 child2.WindowState = FormWindowState.Maximized;
1186 Assert.AreEqual (FormWindowState.Maximized, child1.WindowState, "#1");
1187 Assert.AreEqual (FormWindowState.Maximized, child2.WindowState, "#2");
1191 Assert.AreEqual (FormWindowState.Normal, child1.WindowState, "#3");
1192 Assert.AreEqual (FormWindowState.Maximized, child2.WindowState, "#4");
1194 child2.WindowState = FormWindowState.Normal;
1196 Assert.AreEqual (FormWindowState.Normal, child1.WindowState, "#5");
1197 Assert.AreEqual (FormWindowState.Normal, child2.WindowState, "#6");
1207 public void MdiChild_WindowState5 ()
1209 Form main = null, child1 = null, child2 = null;
1213 main.IsMdiContainer = true;
1216 child1 = new Form ();
1217 child1.Name = "child1";
1218 child1.MdiParent = main;
1219 child1.WindowState = FormWindowState.Maximized;
1222 child2 = new Form ();
1223 child2.Name = "child2";
1224 child2.MdiParent = main;
1225 child2.WindowState = FormWindowState.Maximized;
1227 Assert.AreEqual (FormWindowState.Maximized, child1.WindowState, "#1");
1228 Assert.AreEqual (FormWindowState.Maximized, child2.WindowState, "#2");
1232 Assert.AreEqual (FormWindowState.Normal, child1.WindowState, "#3");
1233 Assert.AreEqual (FormWindowState.Maximized, child2.WindowState, "#4");
1237 Assert.AreEqual (FormWindowState.Maximized, child1.WindowState, "#5");
1238 Assert.AreEqual (FormWindowState.Normal, child2.WindowState, "#6");
1248 public void MdiChild_WindowState6 ()
1250 Form main = null, child1 = null, child2 = null;
1255 main.IsMdiContainer = true;
1258 child1 = new Form ();
1259 child1.Name = "child1";
1260 child1.MdiParent = main;
1261 child1.WindowState = FormWindowState.Minimized;
1264 child2 = new Form ();
1265 child2.Name = "child2";
1266 child2.MdiParent = main;
1267 child2.WindowState = FormWindowState.Maximized;
1269 Assert.AreEqual (FormWindowState.Minimized, child1.WindowState, "#1");
1270 Assert.AreEqual (FormWindowState.Maximized, child2.WindowState, "#2");
1274 Assert.AreEqual (FormWindowState.Minimized, child1.WindowState, "#3");
1275 Assert.AreEqual (FormWindowState.Maximized, child2.WindowState, "#4");
1279 Assert.AreEqual (FormWindowState.Maximized, child1.WindowState, "#5");
1280 Assert.AreEqual (FormWindowState.Normal, child2.WindowState, "#6");
1284 Assert.AreEqual (FormWindowState.Minimized, child1.WindowState, "#7");
1285 Assert.AreEqual (FormWindowState.Maximized, child2.WindowState, "#8");