我怎么能让一个形式不断地覆盖另一个形式

本文关键字:另一个 覆盖 一个 怎么能 | 更新日期: 2023-09-27 18:15:59

我需要form2在form1的顶部,在相同的大小和位置的form1。特别是当form1的位置发生变化时。简单地说,我如何让form2跟随form1?

我怎么能让一个形式不断地覆盖另一个形式

通过在构造函数中或通过Visual Studio的属性菜单中添加事件处理程序来订阅form1SizeChanged事件,并在其中更新form2的大小和位置。

要手动添加事件处理程序,请在构造函数中添加以下内容:
this.SizeChanged += new System.EventHandler(this.AlbumChooser_SizeChanged);

(如果您只键入this.SizeChanged +=,那么在剩下的行中键入两次制表符,事件处理程序方法将为您创建)。然后处理程序看起来像这样:

    private void AlbumChooser_SizeChanged(object sender, EventArgs e)
    {
        form2.Location = new Point(this.Location);
        ....
    }

您可能还需要订阅ResizeEnd事件

看起来你正在寻找错误的解决方案。我要做的是创建2个用户控件,一个用于当前的Form1,一个用于当前的Form2

将滚动文本放在UserControl1中,将Image放在UserControl2中。

将这两个用户控件添加到一个表单中,它们重叠,并更改用户控件的可见性,而不是创建新表单。当交换:

private void SwapVisibility() {
    UserControl1.Visible = !UserControl1.Visible;
    UserControl2.Visible = !UserControl2.Visible;
}

初始化UserControl2Visibile属性为false