[Mono-bugs] [Bug 79190][Nor] New - Setting Control.Top after Control.Location doesn't work
bugzilla-daemon at bugzilla.ximian.com
bugzilla-daemon at bugzilla.ximian.com
Sun Aug 27 17:25:19 EDT 2006
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 kuba.brecka at gmail.com.
http://bugzilla.ximian.com/show_bug.cgi?id=79190
--- shadow/79190 2006-08-27 17:25:19.000000000 -0400
+++ shadow/79190.tmp.24098 2006-08-27 17:25:19.000000000 -0400
@@ -0,0 +1,70 @@
+Bug#: 79190
+Product: Mono: Class Libraries
+Version: 1.1
+OS: GNU/Linux [Other]
+OS Details: Slackware, KDE
+Status: NEW
+Resolution:
+Severity:
+Priority: Normal
+Component: Windows.Forms
+AssignedTo: peter at novonyx.com
+ReportedBy: kuba.brecka at gmail.com
+QAContact: mono-bugs at ximian.com
+TargetMilestone: ---
+URL:
+Cc:
+Summary: Setting Control.Top after Control.Location doesn't work
+
+This is a very weird bug, and it seems it only happens on Linux (I am able
+to reproduce it on Slackware Linux, using KDE). Using SVN head, the
+following code reproduces the bug.
+
+Excepted result:
+When you click the first button, the second button should move to the left
+of the first one. When you click the first button again, nothing should
+happen. This is how the program behaves on Windows, using both Mono and MS.NET.
+
+Actual result (on Linux):
+When you click the first button, the second button moves to the left of the
+first one. But when you click the first button again, the second button
+moves 15px to the bottom. When you click it again, it moves back. It seems
+like every second time the marked line in the code is ignored.
+
+Reproduce code:
+using System;
+using System.Drawing;
+using System.Collections.Generic;
+using System.Windows.Forms;
+
+namespace MonoTest22
+{
+ public class Form1 : Form
+ {
+ static void Main()
+ {
+ Application.Run(new Form1());
+ }
+
+ Button B1, B2;
+ public Form1()
+ {
+ B1 = new Button();
+ B1.Location = new Point(0, 0);
+ B1.Size = new Size(150, 30);
+ B1.Click += new EventHandler(B1_Click);
+ Controls.Add(B1);
+
+ B2 = new Button();
+ B2.Location = new Point(0, 30);
+ B2.Size = new Size(150, 30);
+ Controls.Add(B2);
+ }
+
+ void B1_Click(object sender, EventArgs e)
+ {
+ B2.Location = new Point(150, 15);
+ B2.Top -= 15; // MARKED LINE
+ }
+ }
+}
More information about the mono-bugs
mailing list