+ using (Form Main = new Form ()) {
+ Form Child = new Form ();
+ Child.TopLevel = false;
+ Main.Controls.Add (Child);
+ Main.ShowInTaskbar = false;
+ Main.Show ();
+
+ Child.WindowState = FormWindowState.Maximized;
+ Child.Visible = true;
+ // The exact negative value depends on the border with, but it should always be < 0.
+ Assert.IsTrue (Child.Location.X < 0 && Child.Location.Y < 0, "#A1");
+ }
+ }
+ [Test]
+ [Category ("NotWorking")]
+ public void ParentedFormEventTest ()
+ {
+
+ using (Form Main = new Form ()) {
+ Form Child = new Form ();
+ Child.TopLevel = false;
+ Child.Visible = true;
+ Main.ShowInTaskbar = false;
+ Main.Show ();
+
+ EventLogger log = new EventLogger (Child);
+ Assert.AreEqual (true, Child.Visible, "#A0");
+ Main.Controls.Add (Child);
+ Assert.AreEqual (true, Child.Visible, "#B0");
+ Assert.AreEqual ("ParentChanged;BindingContextChanged;Layout;VisibleChanged;BindingContextChanged;BindingContextChanged", log.EventsJoined (), "#B1");
+ }
+ }
+ [Test]
+ [NUnit.Framework.Category ("NotWorking")]
+ public void FormCreateParamsStyleTest ()
+ {
+ Form frm;
+
+ using (frm = new Form ()) {
+ Assert.AreEqual (WindowStyles.WS_TILED | WindowStyles.WS_TILEDWINDOW | WindowStyles.WS_CLIPCHILDREN, ((WindowStyles) TestHelper.GetCreateParams (frm).Style), "#01-Style");
+ 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");
+ }
+
+ using (frm = new Form ()) {
+ frm.AllowDrop = !frm.AllowDrop;
+ Assert.AreEqual (WindowStyles.WS_TILED | WindowStyles.WS_TILEDWINDOW | WindowStyles.WS_CLIPCHILDREN, ((WindowStyles)TestHelper.GetCreateParams (frm).Style), "#02-Style");
+ 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");
+ }
+
+ using (frm = new Form ()) {
+ frm.AllowTransparency = !frm.AllowTransparency;
+ Assert.AreEqual (WindowStyles.WS_TILED | WindowStyles.WS_TILEDWINDOW | WindowStyles.WS_CLIPCHILDREN, ((WindowStyles)TestHelper.GetCreateParams (frm).Style), "#03-Style");
+ 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");
+ }
+
+ using (frm = new Form ()) {
+ frm.Opacity = 0.50;
+ Assert.AreEqual (WindowStyles.WS_TILED | WindowStyles.WS_TILEDWINDOW | WindowStyles.WS_CLIPCHILDREN, ((WindowStyles)TestHelper.GetCreateParams (frm).Style), "#04-Style");
+ 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");
+ }
+
+ using (frm = new Form ()) {
+ frm.TransparencyKey = Color.Cyan;
+ Assert.AreEqual (WindowStyles.WS_TILED | WindowStyles.WS_TILEDWINDOW | WindowStyles.WS_CLIPCHILDREN, ((WindowStyles)TestHelper.GetCreateParams (frm).Style), "#05-Style");
+ 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");
+ }
+
+ using (frm = new Form ()) {
+ frm.CausesValidation = !frm.CausesValidation;
+ Assert.AreEqual (WindowStyles.WS_TILED | WindowStyles.WS_TILEDWINDOW | WindowStyles.WS_CLIPCHILDREN, ((WindowStyles)TestHelper.GetCreateParams (frm).Style), "#06-Style");
+ 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");
+ }
+
+ using (frm = new Form ()) {
+ frm.ControlBox = !frm.ControlBox;
+ 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");
+ 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");
+ }
+
+ using (frm = new Form ()) {
+ frm.Enabled = true;
+ Assert.AreEqual (WindowStyles.WS_TILED | WindowStyles.WS_TILEDWINDOW | WindowStyles.WS_CLIPCHILDREN, ((WindowStyles)TestHelper.GetCreateParams (frm).Style), "#08-Style");
+ 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");
+ }
+
+ using (frm = new Form ()) {
+ frm.FormBorderStyle = FormBorderStyle.Fixed3D;
+ 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");
+ 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");
+ }
+
+ using (frm = new Form ()) {
+ frm.FormBorderStyle = FormBorderStyle.FixedDialog;
+ 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");
+ 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");
+ }
+
+ using (frm = new Form ()) {
+ frm.FormBorderStyle = FormBorderStyle.FixedSingle;
+ 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");
+ 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");
+ }
+
+ using (frm = new Form ()) {
+ frm.FormBorderStyle = FormBorderStyle.FixedToolWindow;
+ 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");
+ 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");
+ }
+
+ using (frm = new Form ()) {
+ frm.FormBorderStyle = FormBorderStyle.None;
+ Assert.AreEqual (WindowStyles.WS_TILED | WindowStyles.WS_TABSTOP | WindowStyles.WS_CLIPCHILDREN, ((WindowStyles)TestHelper.GetCreateParams (frm).Style), "#14-Style");
+ 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");
+ }
+
+ using (frm = new Form ()) {
+ frm.FormBorderStyle = FormBorderStyle.Sizable;
+ Assert.AreEqual (WindowStyles.WS_TILED | WindowStyles.WS_TILEDWINDOW | WindowStyles.WS_CLIPCHILDREN, ((WindowStyles)TestHelper.GetCreateParams (frm).Style), "#15-Style");
+ 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");
+ }
+
+ using (frm = new Form ()) {
+ frm.FormBorderStyle = FormBorderStyle.SizableToolWindow;
+ Assert.AreEqual (WindowStyles.WS_TILED | WindowStyles.WS_TILEDWINDOW | WindowStyles.WS_CLIPCHILDREN, ((WindowStyles)TestHelper.GetCreateParams (frm).Style), "#16-Style");
+ 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");
+ }
+
+ using (frm = new Form ()) {
+ frm.HelpButton = !frm.HelpButton;
+ Assert.AreEqual (WindowStyles.WS_TILED | WindowStyles.WS_TILEDWINDOW | WindowStyles.WS_CLIPCHILDREN, ((WindowStyles)TestHelper.GetCreateParams (frm).Style), "#17-Style");
+ 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");
+ }
+
+ using (frm = new Form ()) {
+ frm.Icon = null;
+ Assert.AreEqual (WindowStyles.WS_TILED | WindowStyles.WS_TILEDWINDOW | WindowStyles.WS_CLIPCHILDREN, ((WindowStyles)TestHelper.GetCreateParams (frm).Style), "#18-Style");
+ 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");
+ }
+
+ using (frm = new Form ()) {
+ frm.Icon = SystemIcons.Asterisk;
+ Assert.AreEqual (WindowStyles.WS_TILED | WindowStyles.WS_TILEDWINDOW | WindowStyles.WS_CLIPCHILDREN, ((WindowStyles)TestHelper.GetCreateParams (frm).Style), "#19-Style");
+ 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");
+ }
+
+ using (frm = new Form ()) {
+ frm.IsMdiContainer = !frm.IsMdiContainer;
+ Assert.AreEqual (WindowStyles.WS_TILED | WindowStyles.WS_TILEDWINDOW | WindowStyles.WS_CLIPCHILDREN, ((WindowStyles)TestHelper.GetCreateParams (frm).Style), "#20-Style");
+ 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");
+ }
+
+ using (frm = new Form ()) {
+ frm.MaximizeBox = !frm.MaximizeBox;
+ 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");
+ 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");
+ }
+
+ using (frm = new Form ()) {
+ frm.MinimizeBox = !frm.MinimizeBox;
+ 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");
+ 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");
+ }
+#if NET_2_0
+ using (frm = new Form ()) {
+ frm.ShowIcon = !frm.ShowIcon;
+ Assert.AreEqual (WindowStyles.WS_TILED | WindowStyles.WS_TILEDWINDOW | WindowStyles.WS_CLIPCHILDREN, ((WindowStyles)TestHelper.GetCreateParams (frm).Style), "#23-Style");
+ 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");
+ }
+#endif
+ using (frm = new Form ()) {
+ frm.ShowInTaskbar = !frm.ShowInTaskbar;
+ Assert.AreEqual (WindowStyles.WS_TILED | WindowStyles.WS_TILEDWINDOW | WindowStyles.WS_CLIPCHILDREN, ((WindowStyles)TestHelper.GetCreateParams (frm).Style), "#24-Style");
+ Assert.AreEqual (WindowExStyles.WS_EX_LEFT | WindowExStyles.WS_EX_RIGHTSCROLLBAR | WindowExStyles.WS_EX_CONTROLPARENT, ((WindowExStyles)TestHelper.GetCreateParams (frm).ExStyle), "#24-ExStyle");
+ }
+
+
+ using (frm = new Form ()) {
+ frm.TabStop = !frm.TabStop;
+ Assert.AreEqual (WindowStyles.WS_TILED | WindowStyles.WS_TILEDWINDOW | WindowStyles.WS_CLIPCHILDREN, ((WindowStyles)TestHelper.GetCreateParams (frm).Style), "#25-Style");
+ 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");
+ }
+
+ using (frm = new Form ()) {
+ frm.TopLevel = !frm.TopLevel;
+ Assert.AreEqual (WindowStyles.WS_TILED | WindowStyles.WS_TILEDWINDOW | WindowStyles.WS_CLIPCHILDREN | WindowStyles.WS_CLIPSIBLINGS | WindowStyles.WS_CHILD, ((WindowStyles)TestHelper.GetCreateParams (frm).Style), "#26-Style");
+ 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");
+ }
+
+ using (frm = new Form ()) {
+ frm.Visible = !frm.Visible;
+ Assert.AreEqual (WindowStyles.WS_TILED | WindowStyles.WS_TILEDWINDOW | WindowStyles.WS_CLIPCHILDREN, ((WindowStyles)TestHelper.GetCreateParams (frm).Style), "#27-Style");
+ 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");
+ }
+
+ using (frm = new Form ()) {
+ frm.ControlBox = false;
+ frm.Text = "";
+ 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), "#28-Style");
+ Assert.AreEqual (WindowExStyles.WS_EX_LEFT | WindowExStyles.WS_EX_RIGHTSCROLLBAR | WindowExStyles.WS_EX_CONTROLPARENT | WindowExStyles.WS_EX_APPWINDOW, ((WindowExStyles)TestHelper.GetCreateParams (frm).ExStyle), "#28-ExStyle");
+ }
+ }
+
+ [Test]
+ public void FormParentedTest ()
+ {
+ using (Form frm = new Form ()) {
+ using (Form frm2 = new Form ()) {
+ frm2.TopLevel = false;
+ frm.ShowInTaskbar = false;
+ frm2.ShowInTaskbar = false;
+ frm2.Visible = true;
+ frm.Visible = true;
+
+ EventLogger log = new EventLogger (frm);
+ EventLogger log2 = new EventLogger (frm2);
+
+ frm.Controls.Add (frm2);
+
+ Assert.IsTrue (log2.EventRaised ("ParentChanged"), "#C1");
+ Assert.IsTrue (log.EventRaised ("ControlAdded"), "#P1");
+ Assert.AreSame (frm, frm2.Parent, "#02");
+ }
+ }
+ }
+
+ [Test]
+ public void FormPropertyTest ()
+ {
+ Form myform = new Form ();
+ myform.Visible = true;
+ myform.Text = "NewForm";
+ myform.Name = "FormTest";
+ Assert.IsNull (myform.ActiveMdiChild, "#2");
+ Assert.IsFalse (myform.AutoScale, "#3");
+ Assert.IsNull (myform.CancelButton, "#6");
+ Assert.IsTrue (myform.ControlBox, "#9");
+ Assert.IsTrue (myform.DesktopBounds.X > 0, "#10a");
+ Assert.IsTrue (myform.DesktopBounds.Y > 0, "#10b");
+ Assert.AreEqual (300, myform.DesktopBounds.Height, "#10c");
+ Assert.AreEqual (300, myform.DesktopBounds.Width, "#10d");
+ Assert.IsTrue (myform.DesktopLocation.X > 0, "#11a");
+ Assert.IsTrue (myform.DesktopLocation.Y > 0, "#11b");
+ Assert.AreEqual (DialogResult.None, myform.DialogResult, "#12");
+ Assert.AreEqual (FormBorderStyle.Sizable, myform.FormBorderStyle, "#13");
+ Assert.IsFalse (myform.HelpButton, "#14");
+ Assert.AreEqual ("System.Drawing.Icon", myform.Icon.GetType ().ToString (), "#15");
+ Assert.IsFalse (myform.IsMdiChild, "#16");
+ Assert.IsFalse (myform.IsMdiContainer, "#17");
+ Assert.IsFalse (myform.KeyPreview, "#18");
+ Assert.IsTrue (myform.MaximizeBox, "#19");
+ Assert.AreEqual (0, myform.MaximumSize.Height, "#20a");
+ Assert.AreEqual (0, myform.MaximumSize.Width, "#20b");
+ Assert.AreEqual (0, myform.MdiChildren.Length, "#21a");
+ Assert.AreEqual (1, myform.MdiChildren.Rank, "#21b");
+ Assert.IsFalse (myform.MdiChildren.IsSynchronized, "#21c");
+ Assert.IsNull (myform.MdiParent, "#22");
+ Assert.IsNull (myform.Menu, "#23");
+ Assert.IsNull (myform.MergedMenu, "#24");
+ Assert.IsTrue (myform.MinimizeBox, "#25");
+ Assert.AreEqual (0, myform.MinimumSize.Height, "#26a");
+ Assert.AreEqual (0, myform.MinimumSize.Width, "#26b");
+ Assert.IsTrue (myform.MinimumSize.IsEmpty, "#26c");
+ Assert.IsFalse (myform.Modal, "#27");
+ Assert.AreEqual (1, myform.Opacity, "#28");
+ Assert.AreEqual (0, myform.OwnedForms.Length, "#29a");
+ Assert.AreEqual (1, myform.OwnedForms.Rank, "#29b");
+ Assert.IsNull (myform.Owner, "#30");
+ Assert.IsTrue (myform.ShowInTaskbar, "#31");
+ Assert.AreEqual (300, myform.Size.Height, "#32a");
+ Assert.AreEqual (300, myform.Size.Width, "#32b");
+ Assert.AreEqual (SizeGripStyle.Auto, myform.SizeGripStyle, "#33");
+ Assert.AreEqual (FormStartPosition.WindowsDefaultLocation, myform.StartPosition, "#34");
+ Assert.IsTrue (myform.TopLevel, "#35");
+ Assert.IsFalse (myform.TopMost, "#36");
+ Assert.AreEqual (Color.Empty, myform.TransparencyKey, "#37");
+ Assert.AreEqual (FormWindowState.Normal, myform.WindowState, "#38");
+ Assert.AreEqual (ImeMode.NoControl, myform.ImeMode, "#39");
+ myform.Dispose ();
+ }
+
+ [Test]
+ [Category ("NotWorking")]
+ public void ActivateTest ()
+ {
+ Form myform = new Form ();
+ myform.ShowInTaskbar = false;
+ myform.Visible = true;
+ myform.Text = "NewForm";
+ myform.Name = "FormTest";
+ myform.Activate ();
+ Assert.AreEqual (true, myform.Focus (), "#40");
+ myform.Dispose ();
+ }
+
+ [Test]
+ public void AddOwnedFormTest ()
+ {
+ Form parent = new Form ();
+ parent.ShowInTaskbar = false;
+ parent.Text = "NewParent";
+ Form ownedForm = new Form ();
+ ownedForm.ShowInTaskbar = false;
+ ownedForm.Text = "Owned Form";
+ parent.AddOwnedForm (ownedForm);
+ ownedForm.Show ();
+ Assert.AreEqual ("NewParent", ownedForm.Owner.Text, "#41");
+ ownedForm.Dispose ();
+ parent.Dispose ();
+ }
+
+ [Test] // bug #80020
+ public void IsHandleCreated ()
+ {
+ Form main = new Form ();
+ main.Name = "main";
+ main.IsMdiContainer = true;
+ main.ShowInTaskbar = false;
+ Assert.IsFalse (main.IsHandleCreated, "#1");
+
+ Form child = new Form ();
+ child.MdiParent = main;
+ child.WindowState = FormWindowState.Maximized;
+ Assert.IsFalse (main.IsHandleCreated, "#2");
+
+ child.Show ();
+ Assert.IsFalse (child.IsHandleCreated, "#3");
+ Assert.IsFalse (main.IsHandleCreated, "#4");
+
+ main.Show ();
+ Assert.IsTrue (child.IsHandleCreated, "#5");
+ Assert.IsTrue (main.IsHandleCreated, "#6");
+
+ child.Dispose ();
+ main.Dispose ();
+ }
+
+ [Test]
+ public void RemoveOwnedFormTest ()
+ {
+ Form myform = new Form ();
+ myform.ShowInTaskbar = false;
+ myform.Text = "NewForm";
+ myform.Name = "FormTest";
+ myform.RemoveOwnedForm (myform);
+ myform.Show ();
+ Assert.AreEqual (null, myform.Owner, "#44");
+ myform.Dispose ();
+ }
+
+ [Test]
+ public void SetDesktopBoundsTest ()
+ {
+ Form myform = new Form ();
+ myform.ShowInTaskbar = false;
+ myform.Visible = true;
+ myform.Text = "NewForm";
+ myform.Name = "FormTest";
+ myform.SetDesktopBounds (10, 10, 200 , 200);
+ Assert.AreEqual (200, myform.DesktopBounds.Height, "#45");
+ myform.Dispose ();
+ }
+
+ [Test]
+ public void SetDesktopLocationTest ()
+ {
+ Form myform = new Form ();
+ myform.ShowInTaskbar = false;
+ myform.Visible = true;
+ myform.Text = "NewForm";
+ myform.Name = "FormTest";
+ myform.SetDesktopLocation (10, 10);
+ Assert.AreEqual (10, myform.DesktopLocation.X, "#46");
+ myform.Dispose ();
+ }
+
+ [Test]
+ public void SetDialogResultOutOfRange ()
+ {
+ Form myform = new Form ();
+ myform.ShowInTaskbar = false;
+ try {
+ myform.DialogResult = (DialogResult) (-1);
+ Assert.Fail ("#48");
+ } catch (InvalidEnumArgumentException) {
+ }
+
+ try {
+ myform.DialogResult = (DialogResult) ((int) DialogResult.No + 1);
+ Assert.Fail ("#49");
+ } catch (InvalidEnumArgumentException) {
+ }
+ myform.Dispose ();
+ }
+
+ void myform_set_dialogresult (object sender, EventArgs e)
+ {
+ Form f = (Form)sender;
+
+ f.DialogResult = DialogResult.OK;
+ }
+
+ void myform_close (object sender, EventArgs e)
+ {
+ Form f = (Form)sender;
+
+ f.Close();
+ }
+
+ [Test]
+ public void SetDialogResult ()
+ {
+ Form myform = new Form ();
+ myform.ShowInTaskbar = false;
+ myform.Visible = true;
+
+ myform.DialogResult = DialogResult.Cancel;
+
+ Assert.IsTrue (myform.Visible, "A1");
+ Assert.IsFalse (myform.IsDisposed, "A2");
+
+ myform.Close ();
+
+ Assert.IsFalse (myform.Visible, "A3");
+ Assert.IsTrue (myform.IsDisposed, "A4");
+
+ DialogResult result;
+
+ myform = new Form ();
+ myform.ShowInTaskbar = false;
+ myform.VisibleChanged += new EventHandler (myform_set_dialogresult);
+ result = myform.ShowDialog ();
+
+ Assert.AreEqual (result, DialogResult.OK, "A5");
+ Assert.IsFalse (myform.Visible, "A6");
+ Assert.IsFalse (myform.IsDisposed, "A7");
+ myform.Dispose ();
+
+ myform = new Form ();
+ myform.ShowInTaskbar = false;
+ myform.VisibleChanged += new EventHandler (myform_close);
+ result = myform.ShowDialog ();
+
+ Assert.AreEqual (result, DialogResult.Cancel, "A8");
+ Assert.IsFalse (myform.Visible, "A9");
+ Assert.IsFalse (myform.IsDisposed, "A10");
+
+ myform.Dispose ();
+ }
+
+ [Test]
+ public void ShowDialog_Child ()
+ {
+ Form main = new Form ();
+ main.IsMdiContainer = true;
+ Form child = new Form ();
+ child.MdiParent = main;
+ try {
+ child.ShowDialog ();
+ Assert.Fail ("#1");
+ } catch (InvalidOperationException ex) {
+ // Forms that are not top level forms cannot be displayed as a
+ // modal dialog. Remove the form from any parent form before
+ // calling ShowDialog.
+ Assert.AreEqual (typeof (InvalidOperationException), ex.GetType (), "#2");
+ Assert.IsNull (ex.InnerException, "#3");
+ Assert.IsNotNull (ex.Message, "#4");
+ }
+ Assert.IsNull (child.Owner, "#5");
+ child.Dispose ();
+ main.Dispose ();
+ }
+
+ [Test]
+ public void ShowDialog_Disabled ()
+ {
+ Form form = new Form ();
+ form.Enabled = false;
+ try {
+ form.ShowDialog ();
+ Assert.Fail ("#A1");
+ } catch (InvalidOperationException ex) {
+ // Forms that are not enabled cannot be displayed as a modal
+ // dialog. Set the form's enabled property to true before
+ // calling ShowDialog.
+ Assert.AreEqual (typeof (InvalidOperationException), ex.GetType (), "#A2");
+ Assert.IsNull (ex.InnerException, "#A3");
+ Assert.IsNotNull (ex.Message, "#A4");
+ }
+ Assert.IsNull (form.Owner, "#A5");
+ form.Dispose ();
+
+ Form main = new Form ();
+ form = new Form ();
+ form.Owner = main;
+ form.Enabled = false;
+ try {
+ form.ShowDialog ();
+ Assert.Fail ("#B1");
+ } catch (InvalidOperationException) {
+ }
+ Assert.IsNotNull (form.Owner, "#B2");
+ Assert.AreSame (main, form.Owner, "#B3");
+ form.Dispose ();
+ main.Dispose ();
+ }
+
+ [Test]
+ [Category ("NotWorking")]
+ public void ShowDialog_Owner_Circular ()
+ {
+ Form main = new Form ();
+ Form child = new Form ();
+ child.Owner = main;
+ try {