【问题标题】:How To Stop BringToFront() Moving User Control To Top Left of Window?如何停止 BringToFront() 将用户控件移动到窗口的左上角?
【发布时间】:2019-01-04 16:36:21
【问题描述】:

我目前正在做一个小项目,使用用户控件来调出我窗口的不同窗口部分。单击侧边栏时,BringToFront() 会将其中一个用户控件置于最前面。这通过代码使用用户控件的一个实例,函数被调用到该实例。

SelectionPanel.Height = btnSideHome.Height;
this.Controls.Add(HomePage.Instance);
HomePage.Instance.BringToFront();

但是,在构建时,在窗口初始化后调用 HomePage.Instance.BringToFront() 时,在 public Form1() 类中,HomePage 用户控件在窗口的左上角进行实例化,而不是在 200,61,它所在的位置放置在表单设计器中。

这里有什么问题,我该如何解决?

【问题讨论】:

  • 没有足够的代码来提供帮助。显示重复问题的最少代码。

标签: c# winforms bringtofront


【解决方案1】:

您可以简单地确保控件呈现在正确的位置之前调用BringToFront 与以下内容。

    HomePage.Instance.Location = new Point(x, y); 

【讨论】:

    【解决方案2】:

    我发现它是怎么做的。

    我通过语句创建了一个带有坐标的新 Point 实体

    Point refpoint = new Point(200,61);
    

    然后通过调用这个参考点,当我想通过

    将某物的位置设置到这一点时
    HomePage.Instance.Location = refpoint;
    

    这已经奏效了。

    【讨论】:

      【解决方案3】:

      有时有一个 Startlocation,您可以在打开表单之前将其设置为手动

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2011-07-16
        • 1970-01-01
        • 1970-01-01
        • 2020-12-10
        • 2020-01-03
        相关资源
        最近更新 更多