在同一屏幕位置创建新表单
本文关键字:表单 新表单 创建 屏幕 位置 | 更新日期: 2023-09-27 18:11:23
我想在同一位置创建一个新表单。当我调用此代码时,会打开一个新表单,但在不同的屏幕位置。
private void BtnAddForm_Click(object sender, EventArgs e)
{
Form2 form2 = new Form2();
form2.Tag = this;
form2.Location = this.Location;
form2.Show(this);
Hide();
}
我使用this.Location
从我的第一个表单中获取位置,但这没有效果。
您需要将StartPosition
属性设置为Manual
才能工作。
private void BtnAddForm_Click(object sender, EventArgs e)
{
Form2 form2 = new Form2();
form2.Tag = this;
form2.StartPosition = FormStartPosition.Manual;
form2.Location = this.Location;
form2.Show(this);
Hide();
}
使用这个。希望帮助
private void BtnAddForm_Click(object sender, EventArgs e)
{
Form2 form2 = new Form2();
form2.Show(this);
form2.Tag = this;
form2.Location = this.Location;
Hide();
}
使用form2.StartPosition = FormStartPosition.Manual;
,您也应该使用form2.Closed += (s, args) => this.Close();
在隐藏父窗体后关闭它。试试这个:
Hide();
Form2 form2 = new Form2();
form2.Tag = this;
form2.StartPosition = FormStartPosition.Manual;
form2.Location = this.Location;
form2.Closed += (s, args) => this.Close();
form2.Show();
最简单的方法是使用表单的StartPosition
属性。该属性应在显示表单之前设置。可以在调用Show或ShowDialog方法之前或在窗体的构造函数中设置此属性。
例如:form2.StartPosition = FormStartPosition.CenterParent
private void button5_Click(object sender, EventArgs e)
{
Form1 NewForm = new Form1();
NewForm.Show();
NewForm.Location = this.Location;
this.Dispose(false);
}
这是一个非常简单的问题。