[Mono-bugs] [Bug 82667][Nor] New - Control: Making visible a child control should not hide children controls in front (z order)

bugzilla-daemon at bugzilla.ximian.com bugzilla-daemon at bugzilla.ximian.com
Sun Sep 2 22:45:13 EDT 2007


Please do not reply to this email- if you want to comment on the bug, go to the
URL shown below and enter your comments there.

Changed by unserkonig at gmail.com.

http://bugzilla.ximian.com/show_bug.cgi?id=82667

--- shadow/82667	2007-09-02 22:45:13.000000000 -0400
+++ shadow/82667.tmp.16555	2007-09-02 22:45:13.000000000 -0400
@@ -0,0 +1,87 @@
+Bug#: 82667
+Product: Mono: Class Libraries
+Version: unspecified
+OS: 
+OS Details: 
+Status: NEW   
+Resolution: 
+Severity: 
+Priority: Normal
+Component: Windows.Forms
+AssignedTo: mono-bugs at ximian.com                            
+ReportedBy: unserkonig at gmail.com               
+QAContact: mono-bugs at ximian.com
+TargetMilestone: ---
+URL: 
+Cc: 
+Summary: Control: Making visible a child control should not hide children controls in front (z order)
+
+Please fill in this template when reporting a bug, unless you know what you
+are doing.
+Description of Problem:
+
+Making visible a child control (in Control.Controls) that was previously
+non-visible should not hide other children controls that have lower indexes
+in ControlCollection (or, in other words, that are in the front in the Z
+order).
+
+Instead, it should be visible but behind the other controls (as Z order
+imposes).
+
+Steps to reproduce the problem:
+1. Compile the attached sample.
+2. Run it and then press the "Make Green Visible".
+
+Actual Results:
+The label with text "Green" is visible and the "Orange" label is hidden
+(it's sent to the back it seems).
+
+Expected Results:
+"Green" should be visible now, but behind "Orange" because orange has a
+lower index in Control.ControlCollection
+
+using System;
+using System.Windows.Forms;
+using System.Drawing;
+
+public class Test
+{
+        public static void Main ()
+        {
+                Application.Run (new TestForm ());
+        }
+}
+
+public class TestForm : Form
+{
+        Label l1, l2;
+        Button b;
+
+        public TestForm ()
+        {
+                l1 = new Label ();
+                l1.Text = "Orange";
+                l1.Location = new Point (10, 10);
+                l1.BackColor = Color.Orange;
+
+                l2 = new Label ();
+                l2.Text = "Green";
+                l2.Visible = false;
+                l2.Location = new Point (0, 0);
+                l2.Size = new Size (180, 100);
+                l2.BackColor = Color.Green;
+
+                Button b = new Button ();
+                b.Text = "Make Green visible";
+                b.Location = new Point (l2.Right + 5, 5);
+                b.Size = new Size (100, 40);
+                b.Click += Button1Handler;
+
+                Controls.AddRange (new Control [] {l1, l2, b});
+        }
+
+        void Button1Handler (object o, EventArgs args)
+        {
+                l2.Visible = true;
+        }
+}


More information about the mono-bugs mailing list