繁体   English   中英

如何使一种形式不断覆盖另一种形式?

[英]How can I make one form constantly overlaying another form?

我需要form2在form1的顶部,并且具有与form1相同的大小和位置。 特别是当form1的位置更改时。 简而言之,我如何让Form2跟随Form1?

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

要手动添加事件处理程序,请在构造函数中添加以下内容:

this.SizeChanged += new System.EventHandler(this.AlbumChooser_SizeChanged);

(如果您只键入this.SizeChanged +=this.SizeChanged +=的其余部分使用Tab键两次,然后将为您创建事件处理程序方法)。 然后,处理程序将如下所示:

    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属性Visibile设置为false

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM