如何使一个表单不断覆盖另一个表单?
我需要 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 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
通过在构造函数中或通过 Visual Studio 中的属性菜单添加事件处理程序来订阅
form1
的SizeChanged
事件,并更新form2< 的大小和位置/code> 在那。
要手动添加事件处理程序,请在构造函数中添加以下内容:(
如果您只需键入
this.SizeChanged +=
,然后按 Tab 键两次该行的其余部分,将为您创建事件处理程序方法)。然后处理程序将如下所示:您可能还必须订阅
ResizeEnd
事件。Subscribe to the
SizeChanged
event ofform1
by adding an event handler either in the constructor or via the properties menu in Visual Studio and update the size and position ofform2
in that.To add an event handler manually add the following in your constructor:
(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:You may also have to subscribe to the
ResizeEnd
event as well.看起来您正在寻找错误的解决方案。我要做的是创建 2 个 用户控件,其中一个用于您当前的 < code>Form1 和当前
Form2
的一个。将滚动文本放在
UserControl1
中,将Image
放在UserControl2
中。将这两个用户控件添加到表单中,重叠并更改用户控件的可见性,而不是创建新表单。交换时:
首先将
UserControl2
的Visibile
属性设置为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 currentForm2
.Put the scrolling text in
UserControl1
and theImage
inUserControl2
.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:
Set the
Visibile
property ofUserControl2
tofalse
intially.