我需要将form2放在form1的顶部,并且与form1的大小和位置相同。特别是当form1的位置发生变化时。简单地说,我如何让form2遵循form1?
答案 0 :(得分:0)
通过在构造函数中或通过Visual Studio中的属性菜单添加事件处理程序来订阅SizeChanged
form1
事件,并在其中更新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
事件。
答案 1 :(得分:0)
看起来你正在寻找错误的解决方案。我要做的是创建2个User Controls,一个用于当前Form1
,另一个用于当前Form2
。
将滚动文字放在UserControl1
中,将Image
放在UserControl2
中。
将这两个用户控件添加到表单,重叠并更改用户控件的可见性,而不是创建新表单。交换时:
private void SwapVisibility() {
UserControl1.Visible = !UserControl1.Visible;
UserControl2.Visible = !UserControl2.Visible;
}
将Visibile
的{{1}}属性设置为UserControl2
。