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);
152 FormClosed += new FormClosedEventHandler (ChildForm_FormClosed);
153 FormClosing += new FormClosingEventHandler (ChildForm_FormClosing);
156 void ChildForm_FormClosing (object sender, FormClosingEventArgs e)
158 Assert.IsNotNull (MdiParent, "ChildForm_FormClosing");
161 void ChildForm_FormClosed (object sender, FormClosedEventArgs e)
163 Assert.IsNotNull (MdiParent, "ChildForm_FormClosed");
166 void ChildForm_Closing (object sender, CancelEventArgs e)
168 Assert.IsNotNull (MdiParent, "ChildForm_Closing");
171 void ChildForm_Closed (object sender, EventArgs e)
173 Assert.IsNotNull (MdiParent, "ChildForm_Closed");
176 protected override void OnClosed (EventArgs e)
178 Assert.IsNotNull (MdiParent, "OnClosed 1");
180 Assert.IsNotNull (MdiParent, "OnClosed 2");
183 protected override void OnClosing (CancelEventArgs e)
185 Assert.IsNotNull (MdiParent, "OnClosing 1");
187 Assert.IsNotNull (MdiParent, "OnClosing 2");
192 public void Test () {
193 using (Form main = new Form ()) {
194 main.IsMdiContainer = true;
195 main.ShowInTaskbar = false;
198 ChildForm child = new ChildForm ();
199 EventLogger log = new EventLogger (child);
200 child.MdiParent = main;
201 child.Visible = true;
204 Assert.AreEqual (1, log.CountEvents ("Closed"), "#01");
205 Assert.AreEqual (1, log.CountEvents ("Closing"), "#02");
206 Assert.IsNull (child.MdiParent, "#03");
207 Assert.AreEqual (0, main.MdiChildren.Length, "#04");
208 Assert.AreEqual (false, child.IsMdiChild, "#05");
213 [Category("NotWorking")]
215 public void StartLocationTest1 ()
217 SetUp (false, false);
219 child1.MdiParent = main;
220 child2.MdiParent = main;
222 child1.Visible = true;
223 child2.Visible = true;
227 Assert.AreEqual ("{X=0,Y=0}", child1.Location.ToString (), "#1");
228 Assert.AreEqual ("{X=22,Y=22}", child2.Location.ToString (), "#2");
233 [Category("NotWorking")]
235 public void StartLocationTest2 ()
237 SetUp (false, false);
239 child1.MdiParent = main;
240 child2.MdiParent = main;
242 child1.StartPosition = FormStartPosition.Manual;
244 child1.Visible = true;
245 child2.Visible = true;
249 Assert.AreEqual ("{X=0,Y=0}", child1.Location.ToString (), "#1");
250 Assert.AreEqual ("{X=22,Y=22}", child2.Location.ToString (), "#2");
256 [Category("NotWorking")]
258 public void StartLocationTest3 ()
260 SetUp (false, false);
262 child1.MdiParent = main;
263 child2.MdiParent = main;
265 child2.StartPosition = FormStartPosition.Manual;
267 child1.Visible = true;
268 child2.Visible = true;
272 Assert.AreEqual ("{X=0,Y=0}", child1.Location.ToString (), "#1");
273 Assert.AreEqual ("{X=0,Y=0}", child2.Location.ToString (), "#2");
278 [Category("NotWorking")]
280 public void StartLocationTest4 ()
282 SetUp (false, false);
284 child1.MdiParent = main;
285 child2.MdiParent = main;
287 child1.StartPosition = FormStartPosition.Manual;
288 child2.StartPosition = FormStartPosition.Manual;
290 child1.Visible = true;
291 child2.Visible = true;
295 Assert.AreEqual ("{X=0,Y=0}", child1.Location.ToString (), "#1");
296 Assert.AreEqual ("{X=0,Y=0}", child2.Location.ToString (), "#2");
301 [Category("NotWorking")]
303 public void StartLocationTest5 ()
305 SetUp (false, false);
307 child1.MdiParent = main;
308 child2.MdiParent = main;
309 child3.MdiParent = main;
311 child2.StartPosition = FormStartPosition.Manual;
313 child1.Visible = true;
314 child2.Visible = true;
315 child3.Visible = true;
319 Assert.AreEqual ("{X=0,Y=0}", child1.Location.ToString (), "#1");
320 Assert.AreEqual ("{X=0,Y=0}", child2.Location.ToString (), "#2");
321 Assert.AreEqual ("{X=44,Y=44}", child3.Location.ToString (), "#3");
326 [Category("NotWorking")]
328 public void StartLocationTest6 ()
330 SetUp (false, false);
332 child1.MdiParent = main;
333 child2.MdiParent = main;
334 child3.MdiParent = main;
336 child2.StartPosition = FormStartPosition.CenterParent;
338 child1.Visible = true;
339 child2.Visible = true;
340 child3.Visible = true;
344 Assert.AreEqual ("{X=0,Y=0}", child1.Location.ToString (), "#1");
345 Assert.AreEqual ("{X=22,Y=22}", child2.Location.ToString (), "#2");
346 Assert.AreEqual ("{X=44,Y=44}", child3.Location.ToString (), "#3");
351 [Category("NotWorking")]
353 public void StartLocationTest7 ()
355 SetUp (false, false);
357 child1.MdiParent = main;
358 child2.MdiParent = main;
359 child3.MdiParent = main;
361 child2.StartPosition = FormStartPosition.CenterScreen;
363 child1.Visible = true;
364 child2.Visible = true;
365 child3.Visible = true;
369 Assert.AreEqual ("{X=0,Y=0}", child1.Location.ToString (), "#1");
370 Assert.AreEqual ("{X=0,Y=0}", child2.Location.ToString (), "#2");
371 Assert.AreEqual ("{X=44,Y=44}", child3.Location.ToString (), "#3");
376 [Category("NotWorking")]
378 public void StartLocationTest8 ()
380 SetUp (false, false);
382 child1.MdiParent = main;
383 child2.MdiParent = main;
384 child3.MdiParent = main;
386 child2.StartPosition = FormStartPosition.WindowsDefaultBounds;
388 child1.Visible = true;
389 child2.Visible = true;
390 child3.Visible = true;
394 Assert.AreEqual ("{X=0,Y=0}", child1.Location.ToString (), "#1");
395 Assert.AreEqual ("{X=22,Y=22}", child2.Location.ToString (), "#2");
396 Assert.AreEqual ("{X=44,Y=44}", child3.Location.ToString (), "#3");
401 [Category("NotWorking")]
403 public void StartLocationTest9 ()
405 SetUp (false, false);
407 child1.MdiParent = main;
408 child2.MdiParent = main;
409 child3.MdiParent = main;
411 child2.StartPosition = FormStartPosition.WindowsDefaultLocation;
413 child1.Visible = true;
414 child2.Visible = true;
415 child3.Visible = true;
419 Assert.AreEqual ("{X=0,Y=0}", child1.Location.ToString (), "#1");
420 Assert.AreEqual ("{X=22,Y=22}", child2.Location.ToString (), "#2");
421 Assert.AreEqual ("{X=44,Y=44}", child3.Location.ToString (), "#3");
426 [Category("NotWorking")]
428 public void StartLocationTest10 ()
430 SetUp (false, false);
432 child1.MdiParent = main;
433 child2.MdiParent = main;
434 child3.MdiParent = main;
436 child2.StartPosition = FormStartPosition.Manual;
437 child2.Location = new Point (123, 123);
439 child1.Visible = true;
440 child2.Visible = true;
441 child3.Visible = true;
445 Assert.AreEqual ("{X=0,Y=0}", child1.Location.ToString (), "#1");
446 Assert.AreEqual ("{X=123,Y=123}", child2.Location.ToString (), "#2");
447 Assert.AreEqual ("{X=44,Y=44}", child3.Location.ToString (), "#3");
452 [Category("NotWorking")]
454 public void StartLocationTest11 ()
456 SetUp (false, false);
458 child1.MdiParent = main;
459 child2.MdiParent = main;
460 child3.MdiParent = main;
462 child2.Location = new Point (123, 123);
464 Assert.AreEqual ("{X=123,Y=123}", child2.Location.ToString (), "#0");
466 child1.Visible = true;
467 child2.Visible = true;
468 child3.Visible = true;
470 Assert.AreEqual ("{X=123,Y=123}", child2.Location.ToString (), "#0");
474 Assert.AreEqual ("{X=0,Y=0}", child1.Location.ToString (), "#1");
475 Assert.AreEqual ("{X=22,Y=22}", child2.Location.ToString (), "#2");
476 Assert.AreEqual ("{X=44,Y=44}", child3.Location.ToString (), "#3");
481 [Category("NotWorking")]
483 public void StartLocationTest12 ()
485 SetUp (false, false);
487 child1.MdiParent = main;
488 child2.MdiParent = main;
489 child3.MdiParent = main;
491 child1.Visible = true;
492 //child2.Visible = true;
493 child3.Visible = true;
497 Assert.AreEqual ("{X=0,Y=0}", child1.Location.ToString (), "#1");
498 Assert.AreEqual ("{X=0,Y=0}", child2.Location.ToString (), "#2");
499 Assert.AreEqual ("{X=22,Y=22}", child3.Location.ToString (), "#3");
501 child2.Visible = true;
502 Assert.AreEqual ("{X=44,Y=44}", child2.Location.ToString (), "#4");
504 child1.Visible = false;
505 child1.Visible = true;
506 Assert.AreEqual ("{X=66,Y=66}", child1.Location.ToString (), "#1");
511 [Category("NotWorking")]
513 public void StartLocationTest13 ()
515 SetUp (false, false);
517 child1.MdiParent = main;
518 child2.MdiParent = main;
519 child3.MdiParent = main;
521 child1.Visible = true;
522 //child2.Visible = true;
523 child3.Visible = true;
527 Assert.AreEqual ("{X=0,Y=0}", child1.Location.ToString (), "#1");
528 Assert.AreEqual ("{X=0,Y=0}", child2.Location.ToString (), "#2");
529 Assert.AreEqual ("{X=22,Y=22}", child3.Location.ToString (), "#3");
531 child2.Visible = true;
532 Assert.AreEqual ("{X=44,Y=44}", child2.Location.ToString (), "#4");
534 child1.Visible = false;
535 child1.Visible = true;
536 Assert.AreEqual ("{X=66,Y=66}", child1.Location.ToString (), "#5");
538 child3.Visible = true;
539 Assert.AreEqual ("{X=22,Y=22}", child3.Location.ToString (), "#6");
541 // MDI Child size does not seem to affect layout.
543 child2.Visible = false;
544 child2.Size = new Size (500, 500);
545 child2.Visible = true;
546 Assert.AreEqual ("{X=88,Y=88}", child2.Location.ToString (), "#7");
548 child2.Visible = false;
549 child2.Visible = true;
550 Assert.AreEqual ("{X=0,Y=0}", child2.Location.ToString (), "#8");
552 child2.Visible = false;
553 child2.Visible = true;
554 Assert.AreEqual ("{X=22,Y=22}", child2.Location.ToString (), "#9");
557 child2.Visible = false;
558 child2.Size = new Size (5, 5);
559 child2.Visible = true;
560 Assert.AreEqual ("{X=44,Y=44}", child2.Location.ToString (), "#10");
562 child2.Visible = false;
563 child2.Visible = true;
564 Assert.AreEqual ("{X=66,Y=66}", child2.Location.ToString (), "#11");
566 child2.Visible = false;
567 child2.Visible = true;
568 Assert.AreEqual ("{X=88,Y=88}", child2.Location.ToString (), "#12");
570 child2.Visible = false;
571 child2.Visible = true;
572 Assert.AreEqual ("{X=0,Y=0}", child2.Location.ToString (), "#13");
577 [Category("NotWorking")]
579 public void StartLocationTest14 ()
581 SetUp (false, false);
583 child1.MdiParent = main;
584 child2.MdiParent = main;
585 child3.MdiParent = main;
587 child2.StartPosition = FormStartPosition.Manual;
588 child2.Location = new Point (44, 44);
589 child1.Visible = true;
590 child2.Visible = true;
591 child3.Visible = true;
595 Assert.AreEqual ("{X=0,Y=0}", child1.Location.ToString (), "#1");
596 Assert.AreEqual ("{X=44,Y=44}", child2.Location.ToString (), "#2");
597 Assert.AreEqual ("{X=44,Y=44}", child3.Location.ToString (), "#3");
599 child1.Visible = false;
600 child1.Visible = true;
601 Assert.AreEqual ("{X=66,Y=66}", child1.Location.ToString (), "#4");
606 [Category("NotWorking")]
608 public void StartLocationTest15 ()
610 SetUp (false, false);
612 child1.MdiParent = main;
613 child2.MdiParent = main;
614 child3.MdiParent = main;
618 child1.Visible = true;
619 child2.Visible = true;
620 child2.Location = new Point (22, 44);
621 child3.Visible = true;
623 Assert.AreEqual ("{X=0,Y=0}", child1.Location.ToString (), "#1");
624 Assert.AreEqual ("{X=22,Y=44}", child2.Location.ToString (), "#2");
625 Assert.AreEqual ("{X=44,Y=44}", child3.Location.ToString (), "#3");
627 child1.Visible = false;
628 child1.Visible = true;
629 Assert.AreEqual ("{X=66,Y=66}", child1.Location.ToString (), "#4");
634 [Category("NotWorking")]
636 public void StartLocationTest16 ()
638 SetUp (false, false);
640 child1.MdiParent = main;
641 child2.MdiParent = main;
642 child3.MdiParent = main;
644 child1.Visible = true;
645 child2.Visible = true;
646 child2.Location = new Point (22, 44);
647 child3.Visible = true;
651 Assert.AreEqual ("{X=0,Y=0}", child1.Location.ToString (), "#1");
652 Assert.AreEqual ("{X=22,Y=22}", child2.Location.ToString (), "#2");
653 Assert.AreEqual ("{X=44,Y=44}", child3.Location.ToString (), "#3");
655 child1.Visible = false;
656 child1.Visible = true;
657 Assert.AreEqual ("{X=66,Y=66}", child1.Location.ToString (), "#4");
662 [Category("NotWorking")]
664 public void StartLocationTest17 ()
666 SetUp (false, false);
668 child1.MdiParent = main;
669 child2.MdiParent = main;
670 child3.MdiParent = main;
672 child1.Visible = true;
673 child2.Visible = true;
677 Assert.AreEqual ("{X=0,Y=0}", child1.Location.ToString (), "#1");
678 Assert.AreEqual ("{X=22,Y=22}", child2.Location.ToString (), "#2");
679 Assert.AreEqual ("{X=0,Y=0}", child3.Location.ToString (), "#3");
681 child2.Visible = false;
682 child3.Visible = true;
684 Assert.AreEqual ("{X=44,Y=44}", child3.Location.ToString (), "#4");
689 [Category("NotWorking")]
691 public void StartLocationTest18 ()
693 SetUp (false, false);
695 child1.MdiParent = main;
696 child2.MdiParent = main;
697 child3.MdiParent = main;
699 child1.Visible = true;
700 child2.Visible = true;
704 Assert.AreEqual ("{X=0,Y=0}", child1.Location.ToString (), "#1");
705 Assert.AreEqual ("{X=22,Y=22}", child2.Location.ToString (), "#2");
706 Assert.AreEqual ("{X=0,Y=0}", child3.Location.ToString (), "#3");
708 child2.Visible = false;
713 child3.Visible = true;
715 Assert.AreEqual ("{X=44,Y=44}", child3.Location.ToString (), "#4");
720 [Category("NotWorking")]
722 public void StartLocationTest19 ()
724 SetUp (false, false);
726 child1.MdiParent = main;
727 child2.MdiParent = main;
728 child3.MdiParent = main;
730 child1.Visible = true;
731 child2.Visible = true;
732 child3.Visible = true;
734 child1.StartPosition = FormStartPosition.Manual;
735 child2.StartPosition = FormStartPosition.Manual;
736 child3.StartPosition = FormStartPosition.Manual;
740 Assert.AreEqual ("{X=0,Y=0}", child1.Location.ToString (), "#1");
741 Assert.AreEqual ("{X=0,Y=0}", child2.Location.ToString (), "#2");
742 Assert.AreEqual ("{X=0,Y=0}", child3.Location.ToString (), "#3");
748 public void StartSizeTest1 ()
750 SetUp (false, false);
752 child1.MdiParent = main;
753 child2.MdiParent = main;
754 child3.MdiParent = main;
758 Assert.AreEqual ("{Width=300, Height=300}", main.Size.ToString (), "#1");
759 Assert.AreEqual ("{Width=300, Height=300}", child1.Size.ToString (), "#2");
760 Assert.AreEqual ("{Width=300, Height=300}", child2.Size.ToString (), "#3");
761 Assert.AreEqual ("{Width=300, Height=300}", child3.Size.ToString (), "#4");
763 child1.Visible = true;
764 child2.Visible = true;
765 child3.Visible = true;
767 Assert.AreEqual ("{Width=300, Height=300}", main.Size.ToString (), "#1");
768 Assert.AreEqual ("{Width=300, Height=300}", child1.Size.ToString (), "#2");
769 Assert.AreEqual ("{Width=300, Height=300}", child2.Size.ToString (), "#3");
770 Assert.AreEqual ("{Width=300, Height=300}", child3.Size.ToString (), "#4");
776 public void IsMdiContainerTest ()
781 main.Visible = false;
783 main.IsMdiContainer = true;
785 child1.MdiParent = main;
787 main.IsMdiContainer = false;
789 Assert.AreSame (null, main.ActiveMdiChild, "#1");
792 Assert.AreSame (null, main.ActiveMdiChild, "#2");
794 Assert.AreSame (null, main.MdiParent, "#3");
799 [Category("NotWorking")]
801 [ExpectedException(typeof(ArgumentException), "Cannot add a top level control to a control.")]
802 public void AddToControlsTest ()
807 main.Visible = false;
809 main.Controls.Add (child1);
817 Form main = null, child1 = null, child2 = null, child3 = null;
820 main.IsMdiContainer = true;
822 main.Text = main.Name;
825 Assert.AreEqual ("main", main.Text, "#1");
827 child1 = new Form ();
828 child1.Name = "child1";
829 child1.MdiParent = main;
830 child1.Text = child1.Name;
831 child1.WindowState = FormWindowState.Maximized;
834 Assert.AreEqual ("main - [child1]", main.Text, "#2");
836 child2 = new Form ();
837 child2.Name = "child2";
838 child1.MdiParent = main;
839 child2.Text = string.Empty;
840 child2.WindowState = FormWindowState.Maximized;
843 Assert.AreEqual ("main - [child1]", main.Text, "#3");
846 Assert.AreEqual ("main - [child1]", main.Text, "#4");
848 child1.WindowState = FormWindowState.Minimized;
849 Assert.AreEqual ("main", main.Text, "#5");
852 Assert.AreEqual ("main", main.Text, "#6");
854 child2.WindowState = FormWindowState.Maximized;
855 Assert.AreEqual ("main", main.Text, "#7");
857 child3 = new Form ();
858 child3.Name = "child3";
859 child3.MdiParent = main;
860 child3.Text = child3.Name;
861 child3.WindowState = FormWindowState.Maximized;
864 Assert.AreEqual ("main - [child3]", main.Text, "#8");
865 child3.WindowState = FormWindowState.Normal;
866 Assert.AreEqual ("main", main.Text, "#9");
868 main.Text = string.Empty;
869 child3.WindowState = FormWindowState.Maximized;
870 Assert.AreEqual (" - [child3]", main.Text, "#10");
872 child3.Text = string.Empty;
873 Assert.AreEqual (string.Empty, main.Text, "#11");
882 public void Text_MdiContainer ()
884 Form main = new Form ();
885 main.ShowInTaskbar = false;
887 main.IsMdiContainer = true;
890 Assert.AreEqual ("main", main.Text, "#1");
892 Form child = new Form ();
893 child.Name = "child";
894 child.MdiParent = main;
895 child.Text = child.Name;
896 child.WindowState = FormWindowState.Maximized;
899 Assert.AreEqual ("main - [child]", main.Text, "#2");
905 public void Text_ChildClose ()
907 Form main = new Form ();
908 main.ShowInTaskbar = false;
909 main.IsMdiContainer = true;
913 Assert.AreEqual ("main", main.Text, "#1");
915 Form child = new Form ();
916 child.Name = "child";
917 child.MdiParent = main;
918 child.Text = child.Name;
919 child.WindowState = FormWindowState.Maximized;
922 Assert.AreEqual ("main - [child]", main.Text, "#2");
925 Assert.AreEqual ("main", main.Text, "#3");
931 public void Text_Maximized ()
933 Form main = new Form ();
934 main.IsMdiContainer = true;
936 main.Text = main.Name;
939 Assert.AreEqual ("main", main.Text, "#1");
941 Form child1 = new Form ();
942 child1.Name = "child1";
943 child1.MdiParent = main;
944 child1.Text = child1.Name;
945 child1.WindowState = FormWindowState.Maximized;
948 Assert.AreEqual ("main - [child1]", main.Text, "#2");
950 Form child2 = new Form ();
951 child2.Name = "child2";
952 child2.MdiParent = main;
953 child2.Text = child2.Name;
954 child2.WindowState = FormWindowState.Maximized;
957 Assert.AreEqual ("main - [child2]", main.Text, "#3");
959 child1.WindowState = FormWindowState.Maximized;
961 Assert.AreEqual ("main - [child1]", main.Text, "#4");
967 [Category ("NotWorking")]
968 public void TopLevelTest ()
973 main.IsMdiContainer = true;
976 child1 = new Form ();
977 child1.Name = "child1";
978 Assert.AreEqual (true, child1.TopLevel, "#01");
979 child1.MdiParent = main;
980 Assert.AreEqual (false, child1.TopLevel, "#02");
986 public void ActiveMdiChild ()
988 Form main, child1, child2;
991 main.IsMdiContainer = true;
994 child1 = new Form ();
995 child1.Name = "child1";
996 child1.MdiParent = main;
997 child1.WindowState = FormWindowState.Maximized;
1000 child2 = new Form ();
1001 child2.Name = "child2";
1002 child2.MdiParent = main;
1005 Assert.IsNull (main.ActiveMdiChild, "#1");
1008 Assert.AreSame (child2, main.ActiveMdiChild, "#2");
1010 child1.WindowState = FormWindowState.Maximized;
1011 Assert.AreSame (child1, main.ActiveMdiChild, "#3");
1013 child2.WindowState = FormWindowState.Maximized;
1014 Assert.AreSame (child2, main.ActiveMdiChild, "#4");
1016 main.Visible = false;
1018 Assert.IsNull (main.ActiveMdiChild, "#5");
1020 Assert.AreSame (child2, main.ActiveMdiChild, "#5");
1030 public void ActiveMdiChild2 ()
1032 SetUp (false, false);
1034 child1.MdiParent = main;
1035 child2.MdiParent = main;
1042 child1.Visible = false;
1044 Assert.AreSame (child2, main.ActiveMdiChild, "#1");
1050 public void ActiveMdiChild3 ()
1052 SetUp (false, false);
1054 child1.MdiParent = main;
1055 child2.MdiParent = main;
1057 main.Visible = true;
1058 main.Visible = false;
1060 Assert.AreSame (null, main.ActiveMdiChild, "#1");
1061 //child2.Visible = true; This will cause StackOverflowException on MS.
1062 main.Visible = true;
1063 Assert.AreSame (null, main.ActiveMdiChild, "#2");
1068 public void MdiChild_WindowState1 ()
1070 Form main = null, child1 = null, child2 = null;
1074 main.IsMdiContainer = true;
1077 child1 = new Form ();
1078 child1.Name = "child1";
1079 child1.Text = "child1";
1080 child1.MdiParent = main;
1081 child1.WindowState = FormWindowState.Maximized;
1084 child2 = new Form ();
1085 child2.Name = "child2";
1086 child2.Text = "child2";
1087 child2.MdiParent = main;
1090 Assert.AreEqual (FormWindowState.Maximized, child1.WindowState, "#1");
1091 Assert.AreEqual (FormWindowState.Normal, child2.WindowState, "#2");
1093 Assert.AreEqual (FormWindowState.Normal, child1.WindowState, "#3");
1094 Assert.AreEqual (FormWindowState.Maximized, child2.WindowState, "#4");
1104 public void MdiChild_WindowState2 ()
1106 Form main = null, child1 = null, child2 = null;
1111 main.IsMdiContainer = true;
1114 child1 = new Form ();
1115 child1.Name = "child1";
1116 child1.MdiParent = main;
1117 child1.WindowState = FormWindowState.Maximized;
1120 child2 = new Form ();
1121 child2.Name = "child2";
1122 child2.MdiParent = main;
1126 Assert.AreEqual (FormWindowState.Normal, child1.WindowState, "#1");
1127 Assert.AreEqual (FormWindowState.Maximized, child2.WindowState, "#2");
1138 public void MdiChild_WindowState3 ()
1140 Form main = null, child1 = null, child2 = null;
1143 main.IsMdiContainer = true;
1146 child1 = new Form ();
1147 child1.MdiParent = main;
1150 child2 = new Form ();
1151 child2.MdiParent = main;
1152 child2.WindowState = FormWindowState.Maximized;
1155 Assert.AreEqual (FormWindowState.Normal, child1.WindowState, "#1");
1156 Assert.AreEqual (FormWindowState.Maximized, child2.WindowState, "#2");
1167 public void MdiChild_WindowState4 ()
1169 Form main = null, child1 = null, child2 = null;
1172 main.IsMdiContainer = true;
1175 child1 = new Form ();
1176 child1.MdiParent = main;
1177 child1.WindowState = FormWindowState.Maximized;
1180 child2 = new Form ();
1181 child2.MdiParent = main;
1182 child2.WindowState = FormWindowState.Maximized;
1184 Assert.AreEqual (FormWindowState.Maximized, child1.WindowState, "#1");
1185 Assert.AreEqual (FormWindowState.Maximized, child2.WindowState, "#2");
1189 Assert.AreEqual (FormWindowState.Normal, child1.WindowState, "#3");
1190 Assert.AreEqual (FormWindowState.Maximized, child2.WindowState, "#4");
1192 child2.WindowState = FormWindowState.Normal;
1194 Assert.AreEqual (FormWindowState.Normal, child1.WindowState, "#5");
1195 Assert.AreEqual (FormWindowState.Normal, child2.WindowState, "#6");
1205 public void MdiChild_WindowState5 ()
1207 Form main = null, child1 = null, child2 = null;
1211 main.IsMdiContainer = true;
1214 child1 = new Form ();
1215 child1.Name = "child1";
1216 child1.MdiParent = main;
1217 child1.WindowState = FormWindowState.Maximized;
1220 child2 = new Form ();
1221 child2.Name = "child2";
1222 child2.MdiParent = main;
1223 child2.WindowState = FormWindowState.Maximized;
1225 Assert.AreEqual (FormWindowState.Maximized, child1.WindowState, "#1");
1226 Assert.AreEqual (FormWindowState.Maximized, child2.WindowState, "#2");
1230 Assert.AreEqual (FormWindowState.Normal, child1.WindowState, "#3");
1231 Assert.AreEqual (FormWindowState.Maximized, child2.WindowState, "#4");
1235 Assert.AreEqual (FormWindowState.Maximized, child1.WindowState, "#5");
1236 Assert.AreEqual (FormWindowState.Normal, child2.WindowState, "#6");
1246 public void MdiChild_WindowState6 ()
1248 Form main = null, child1 = null, child2 = null;
1253 main.IsMdiContainer = true;
1256 child1 = new Form ();
1257 child1.Name = "child1";
1258 child1.MdiParent = main;
1259 child1.WindowState = FormWindowState.Minimized;
1262 child2 = new Form ();
1263 child2.Name = "child2";
1264 child2.MdiParent = main;
1265 child2.WindowState = FormWindowState.Maximized;
1267 Assert.AreEqual (FormWindowState.Minimized, child1.WindowState, "#1");
1268 Assert.AreEqual (FormWindowState.Maximized, child2.WindowState, "#2");
1272 Assert.AreEqual (FormWindowState.Minimized, child1.WindowState, "#3");
1273 Assert.AreEqual (FormWindowState.Maximized, child2.WindowState, "#4");
1277 Assert.AreEqual (FormWindowState.Maximized, child1.WindowState, "#5");
1278 Assert.AreEqual (FormWindowState.Normal, child2.WindowState, "#6");
1282 Assert.AreEqual (FormWindowState.Minimized, child1.WindowState, "#7");
1283 Assert.AreEqual (FormWindowState.Maximized, child2.WindowState, "#8");