多个打开的 windows 表单和 C#

Multiple opened windows forms & C#

我正在尝试在我的 C# 应用程序中设计一个功能。如果用户打开了多个表单,例如 3 个表单。我想使用点击事件将 3 个表单并排放置以适合屏幕。如果我为事件确定了 3 种形式,我可以做到这一点。但我想将该功能应用于(任何)多个打开的表单。任何帮助将不胜感激。谢谢!

使用MDI容器来解决这个问题, 例如, 创建主窗体并将其 IsMdiContainer 属性 值设置为“true”, 要添加子表单,您可以像这样使用代码:

            var frm = new ChildForm();
            frm.MdiParent = this;
            frm.Show();

更改子表单位置:

           var a = 0;
            var b = 0;
            foreach (var form in this.MdiChildren)
            {
                form.Location = new Point(a, b);
                a = a + form.Width + 5;
            }

点击“左右定位”按钮后的结果: