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 [EMAIL PROTECTED] http://bugzilla.ximian.com/show_bug.cgi?id=79757 --- shadow/79757 2006-10-27 13:01:30.000000000 -0400 +++ shadow/79757.tmp.10552 2006-10-27 13:01:30.000000000 -0400 @@ -0,0 +1,370 @@ +Bug#: 79757 +Product: Mono: Class Libraries +Version: 1.1 +OS: +OS Details: +Status: NEW +Resolution: +Severity: +Priority: Normal +Component: Windows.Forms +AssignedTo: [EMAIL PROTECTED] +ReportedBy: [EMAIL PROTECTED] +QAContact: [EMAIL PROTECTED] +TargetMilestone: --- +URL: +Cc: +Summary: Incorrect behavour of MDI applications in 1.1.18 + +Same MDI application runned under .NET 1.1 and Mono 1.1.18 works diffirent. + +1) Menu bar not redraws well, for example if i make MDI container wider +2) MDI child's content not drawn +3) MDI contaner border is absent at all +4) Childs menu not always added to container's main menu +5) Minimizing and maximizing of child windows work very strange +6) MDI-container scrollbars not driven at all in most cases +... + +I didn't tried to run this application under Linux. + +To see this problems please write simple MDI form as in example below and +run it on windows using .NET and Mono and you will see all problems. + +Code of application generated using VS 2003: + +MDI.cs + +using System; +using System.Drawing; +using System.Collections; +using System.ComponentModel; +using System.Windows.Forms; +using System.Data; + +namespace MDI +{ + /// <summary> + /// Summary description for Form1. + /// </summary> + public class MDI : System.Windows.Forms.Form + { + private System.Windows.Forms.MainMenu mainMenu1; + private System.Windows.Forms.MenuItem menuItem1; + private System.Windows.Forms.MenuItem menuItem2; + private System.Windows.Forms.MenuItem menuItem3; + private System.Windows.Forms.MenuItem menuItem4; + private System.Windows.Forms.Panel panel1; + private System.Windows.Forms.RichTextBox richTextBox1; + private System.Windows.Forms.Splitter splitter1; + /// <summary> + /// Required designer variable. + /// </summary> + private System.ComponentModel.Container components = null; + + public MDI() + { + // + // Required for Windows Form Designer support + // + InitializeComponent(); + + // + // TODO: Add any constructor code after InitializeComponent call + // + } + + /// <summary> + /// Clean up any resources being used. + /// </summary> + protected override void Dispose( bool disposing ) + { + if( disposing ) + { + if (components != null) + { + components.Dispose(); + } + } + base.Dispose( disposing ); + } + + #region Windows Form Designer generated code + /// <summary> + /// Required method for Designer support - do not modify + /// the contents of this method with the code editor. + /// </summary> + private void InitializeComponent() + { + this.mainMenu1 = new System.Windows.Forms.MainMenu(); + this.menuItem1 = new System.Windows.Forms.MenuItem(); + this.menuItem2 = new System.Windows.Forms.MenuItem(); + this.menuItem3 = new System.Windows.Forms.MenuItem(); + this.menuItem4 = new System.Windows.Forms.MenuItem(); + this.panel1 = new System.Windows.Forms.Panel(); + this.richTextBox1 = new System.Windows.Forms.RichTextBox(); + this.splitter1 = new System.Windows.Forms.Splitter(); + this.panel1.SuspendLayout(); + this.SuspendLayout(); + // + // mainMenu1 + // + this.mainMenu1.MenuItems.AddRange(new System.Windows.Forms.MenuItem[] { + this.menuItem1}); + // + // menuItem1 + // + this.menuItem1.Index = 0; + this.menuItem1.MenuItems.AddRange(new System.Windows.Forms.MenuItem[] { + this.menuItem2, + this.menuItem3, + this.menuItem4}); + this.menuItem1.Text = "Actions"; + // + // menuItem2 + // + this.menuItem2.Index = 0; + this.menuItem2.Text = "Create child"; + this.menuItem2.Click += new System.EventHandler(this.menuItem2_Click); + // + // menuItem3 + // + this.menuItem3.Index = 1; + this.menuItem3.Text = "-"; + // + // menuItem4 + // + this.menuItem4.Index = 2; + this.menuItem4.Text = "Exit"; + // + // panel1 + // + this.panel1.Controls.Add(this.richTextBox1); + this.panel1.Dock = System.Windows.Forms.DockStyle.Left; + this.panel1.Location = new System.Drawing.Point(0, 0); + this.panel1.Name = "panel1"; + this.panel1.Size = new System.Drawing.Size(128, 381); + this.panel1.TabIndex = 1; + // + // richTextBox1 + // + this.richTextBox1.Dock = System.Windows.Forms.DockStyle.Fill; + this.richTextBox1.Location = new System.Drawing.Point(0, 0); + this.richTextBox1.Name = "richTextBox1"; + this.richTextBox1.Size = new System.Drawing.Size(128, 381); + this.richTextBox1.TabIndex = 0; + this.richTextBox1.Text = "richTextBox1"; + // + // splitter1 + // + this.splitter1.Location = new System.Drawing.Point(128, 0); + this.splitter1.Name = "splitter1"; + this.splitter1.Size = new System.Drawing.Size(3, 381); + this.splitter1.TabIndex = 2; + this.splitter1.TabStop = false; + // + // MDI + // + this.AutoScaleBaseSize = new System.Drawing.Size(5, 13); + this.ClientSize = new System.Drawing.Size(616, 381); + this.Controls.Add(this.splitter1); + this.Controls.Add(this.panel1); + this.IsMdiContainer = true; + this.Menu = this.mainMenu1; + this.Name = "MDI"; + this.Text = "MDI"; + this.panel1.ResumeLayout(false); + this.ResumeLayout(false); + + } + #endregion + + /// <summary> + /// The main entry point for the application. + /// </summary> + [STAThread] + static void Main() + { + Application.Run(new MDI()); + } + + private void menuItem2_Click(object sender, System.EventArgs e) + { + Child child = new Child(); + child.MdiParent = this; + child.Show(); + } + } +} + + + +2) Child.cs + +using System; +using System.Drawing; +using System.Collections; +using System.ComponentModel; +using System.Windows.Forms; + +namespace MDI +{ + /// <summary> + /// Summary description for Child. + /// </summary> + public class Child : System.Windows.Forms.Form + { + private System.Windows.Forms.Button button1; + private System.Windows.Forms.TabControl tabControl1; + private System.Windows.Forms.TabPage tabPage1; + private System.Windows.Forms.TabPage tabPage2; + private System.Windows.Forms.MainMenu mainMenu1; + private System.Windows.Forms.MenuItem menuItem1; + private System.Windows.Forms.TreeView treeView1; + /// <summary> + /// Required designer variable. + /// </summary> + private System.ComponentModel.Container components = null; + + public Child() + { + // + // Required for Windows Form Designer support + // + InitializeComponent(); + + // + // TODO: Add any constructor code after InitializeComponent call + // + } + + /// <summary> + /// Clean up any resources being used. + /// </summary> + protected override void Dispose( bool disposing ) + { + if( disposing ) + { + if(components != null) + { + components.Dispose(); + } + } + base.Dispose( disposing ); + } + + #region Windows Form Designer generated code + /// <summary> + /// Required method for Designer support - do not modify + /// the contents of this method with the code editor. + /// </summary> + private void InitializeComponent() + { + this.button1 = new System.Windows.Forms.Button(); + this.tabControl1 = new System.Windows.Forms.TabControl(); + this.tabPage1 = new System.Windows.Forms.TabPage(); + this.tabPage2 = new System.Windows.Forms.TabPage(); + this.mainMenu1 = new System.Windows.Forms.MainMenu(); + this.menuItem1 = new System.Windows.Forms.MenuItem(); + this.treeView1 = new System.Windows.Forms.TreeView(); + this.tabControl1.SuspendLayout(); + this.tabPage1.SuspendLayout(); + this.tabPage2.SuspendLayout(); + this.SuspendLayout(); + // + // button1 + // + this.button1.Location = new System.Drawing.Point(152, 176); + this.button1.Name = "button1"; + this.button1.TabIndex = 0; + this.button1.Text = "Close"; + this.button1.Click += new System.EventHandler(this.menuItem1_Click); + // + // tabControl1 + // + this.tabControl1.Controls.Add(this.tabPage1); + this.tabControl1.Controls.Add(this.tabPage2); + this.tabControl1.Dock = System.Windows.Forms.DockStyle.Fill; + this.tabControl1.Location = new System.Drawing.Point(0, 0); + this.tabControl1.Name = "tabControl1"; + this.tabControl1.SelectedIndex = 0; + this.tabControl1.Size = new System.Drawing.Size(392, 325); + this.tabControl1.TabIndex = 1; + // + // tabPage1 + // + this.tabPage1.Controls.Add(this.button1); + this.tabPage1.Location = new System.Drawing.Point(4, 22); + this.tabPage1.Name = "tabPage1"; + this.tabPage1.Size = new System.Drawing.Size(384, 299); + this.tabPage1.TabIndex = 0; + this.tabPage1.Text = "tabPage1"; + // + // tabPage2 + // + this.tabPage2.Controls.Add(this.treeView1); + this.tabPage2.Location = new System.Drawing.Point(4, 22); + this.tabPage2.Name = "tabPage2"; + this.tabPage2.Size = new System.Drawing.Size(384, 299); + this.tabPage2.TabIndex = 1; + this.tabPage2.Text = "tabPage2"; + // + // mainMenu1 + // + this.mainMenu1.MenuItems.AddRange(new System.Windows.Forms.MenuItem[] { + this.menuItem1}); + // + // menuItem1 + // + this.menuItem1.Index = 0; + this.menuItem1.Text = "Close"; + this.menuItem1.Click += new System.EventHandler(this.menuItem1_Click); + // + // treeView1 + // + this.treeView1.Dock = System.Windows.Forms.DockStyle.Fill; + this.treeView1.ImageIndex = -1; + this.treeView1.Location = new System.Drawing.Point(0, 0); + this.treeView1.Name = "treeView1"; + this.treeView1.Nodes.AddRange(new System.Windows.Forms.TreeNode[] { + new System.Windows.Forms.TreeNode("Node0"), + new System.Windows.Forms.TreeNode("Node1", new +System.Windows.Forms.TreeNode[] { + new +System.Windows.Forms.TreeNode("Node2", new System.Windows.Forms.TreeNode[] { + new +System.Windows.Forms.TreeNode("Node3")}), + new +System.Windows.Forms.TreeNode("Node4", new System.Windows.Forms.TreeNode[] { + new +System.Windows.Forms.TreeNode("Node5")})}), + new System.Windows.Forms.TreeNode("Node6", new +System.Windows.Forms.TreeNode[] { + new +System.Windows.Forms.TreeNode("Node7")})}); + this.treeView1.SelectedImageIndex = -1; + this.treeView1.Size = new System.Drawing.Size(384, 299); + this.treeView1.TabIndex = 0; + // + // Child + // + this.AutoScaleBaseSize = new System.Drawing.Size(5, 13); + this.ClientSize = new System.Drawing.Size(392, 325); + this.Controls.Add(this.tabControl1); + this.Menu = this.mainMenu1; + this.Name = "Child"; + this.Text = "Child"; + this.tabControl1.ResumeLayout(false); + this.tabPage1.ResumeLayout(false); + this.tabPage2.ResumeLayout(false); + this.ResumeLayout(false); + + } + #endregion + + private void menuItem1_Click(object sender, System.EventArgs e) + { + this.Close(); + } + } +} _______________________________________________ mono-bugs maillist - [email protected] http://lists.ximian.com/mailman/listinfo/mono-bugs
