MSV08-C#:当两个组框被拖到另一个组框的顶部时,我如何阻止它们自动为自己设置父子关系

本文关键字:何阻止 设置 父子关系 自己 两个 另一个 MSV08-C# 顶部 | 更新日期: 2023-09-27 17:48:48

IDE:Microsoft Visual Studio Professional 2008

语言:C#

背景:我有一个表单和两个组框,它们将被用作偏好分类组框。我的问题是,每次我把一个组框拖到另一个组的顶部(在列表视图分类选择时隐藏/显示组框),基本组框都会自动为我刚刚拖到顶部的第二个组框设置父对象。

问题:当两个分组框被拖到一起时,我如何阻止它们自动养育自己?

//编辑;

Q) 我想你是在尝试换掉可见框的布局吗--Mitchel Sellers

A) 是的。我知道我可以在运行时做这件事,但我想把它作为我的最后一个选择,以防有更合适的解决方案。

MSV08-C#:当两个组框被拖到另一个组框的顶部时,我如何阻止它们自动为自己设置父子关系

您可以考虑将第二个GroupBox调整到第一个GroupBox的位置。拖动第二个分组框的一侧或一角,直到它覆盖第一个分组框,然后继续调整第二个组框的大小,直到它按您的意愿定位。

在布局工具栏中,还有对齐和调整大小按钮。选择两个GroupBoxes以启用这些选项。显示白色把手的GroupBox是当您使用对齐和调整大小按钮时将保持静止的,其中包括";使大小相同";以及";中间对齐";。

此外,不要忘记你面前的键盘。箭头键将移动选定的控件。尝试在使用箭头键的同时按住Ctrl+Alt+Shift

分组框的行为是可以将控件拖动到其中,包括其他分组框控件。如果您在拖动鼠标时放开鼠标,它将成为该组框的子对象,并且AFAIK无法更改设计器。除非您可能先使用"发送到背面",否则请将另一个加载到顶部。

我想你是在尝试换掉可见框的布局吗?

也有同样的问题,但通过将组框在表单中移动一点来解决它。然后我打开了可见标志。当然,肯定有一个更简单更好的解决方案,但这个对我来说很有效。积极的一面是,你可以更容易地设计VS中的分组框,因为它们在执行过程中会以任何方式弹出在正确的位置。。。

    private void radioButton1_CheckedChanged(object sender, EventArgs e)
    {
        groupBox1.Location = new System.Drawing.Point(198, 234);
        groupBox2.Location = new System.Drawing.Point(660, 234);
        groupBox1.Visible = true;
        groupBox2.Visible = false;
    }
    private void radioButton2_CheckedChanged(object sender, EventArgs e)
    {
        groupBox1.Location = new System.Drawing.Point(660, 234);
        groupBox2.Location = new System.Drawing.Point(198, 234); 
        groupBox1.Visible = false;
        groupBox2.Visible = true;
    }