如何使一个表单不断覆盖另一个表单?

发布于 2024-12-18 15:34:35 字数 91 浏览 0 评论 0原文

我需要 form2 位于 form1 之上,并且与 form1 具有相同的大小和位置。特别是当 form1 的位置发生变化时。简单来说,如何让form2跟随form1?

I need form2 to be on top of form1 and at the same size and location of form1. Especially when form1's location changes. Simply, how do i get form2 to follow form1?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

愛放△進行李 2024-12-25 15:34:35

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

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

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

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

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

您可能还必须订阅 ResizeEnd 事件。

Subscribe to the SizeChanged event of form1 by adding an event handler either in the constructor or via the properties menu in Visual Studio and update the size and position of form2 in that.

To add an event handler manually add the following in your constructor:

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

(If you just type this.SizeChanged += then tab twice the rest of the line and the event handler method will be created for you). Then the handler will look like this:

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

You may also have to subscribe to the ResizeEnd event as well.

ぃ双果 2024-12-25 15:34:35

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

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

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

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

首先将UserControl2Visibile属性设置为false

It looks like you are looking for the wrong solution. What I would do is create 2 User Controls, one for your current Form1 and one for your current Form2.

Put the scrolling text in UserControl1 and the Image in UserControl2.

Add both of these User Controls to a form, overlapping, and change the visibility of the user controls instead of creating new forms. When swapping:

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

Set the Visibile property of UserControl2 to false intially.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文