说我有2个表格。两者都有相同的高度/宽度。
表格1有一个按钮,可以打开表格2。
单击按钮时,表单2会跳转到与表单1不同的位置。
所以我想我的问题是。我如何设置这样的过渡是顺利的,就像新形式是form1所在的那样。
我是否必须在属性中进行设置?或者,还有更好的方法?现在,我的两个表单都是默认表单。我看了MDI的事情,那不是我想要的。我只是想知道我是否遗漏了什么。
答案 0 :(得分:2)
当您打开第二个表单时,请使用:
Form2 secondForm = new Form2();
secondForm.ShowDialog(this);
然后在Form2 Load
事件中设置如下位置:
private void Form2_Load(object sender, EventArgs e)
{
this.Location = Owner.Location; // Owner is Form1.
}
答案 1 :(得分:1)
您需要使用表单的Location
属性,如下所示。 x和y坐标从左上角开始。例如,(0,0)会将您的表单放在屏幕的左上角窗口中。
Form1.Location = new Point(x, y);
答案 2 :(得分:1)
form2.StartPosition = FormStartPosition.CenterParent;
form2.ShowDialog(this);
答案 3 :(得分:0)
将新表单的Location
设置为旧表单的Location
:
newForm.Location = Location;
答案 4 :(得分:0)
将FormStartPosition.Manual
用作StartPosition
,否则Windows将确定开始位置。
var form2 = new Form2();
form2.StartPostition = FormStartPosition.Manual;
form2.Location = this.Location;
form2.ShowDialog(this);