尝试创建代码,允许打开或新的表单,如一些带有信息的附加面板。 我要求新表单在主表单下面打开,所以需要找到一些表单坐标,但只能得到0和0:
代码:
public int getCoordinateX()
{
return this.Location.X;
}
public int getCoordinateY()
{
return this.Location.Y;
}
和on_load下一个表单使用
private void PlayListForm_Load(object sender, EventArgs e)
{
mainForm formObject = new mainForm();
this.Location = new Point(formObject.getCoordinateX(), formObject.getCoordinateY());
}
我哪里错了?
答案 0 :(得分:1)
在打开PlayListForm的formMain中执行: (这就是你应该如何打开新表格)
PlayListForm newForm = new PlayListForm(this.Location);
newForm.Show();
现在以PlayListForm的形式,您需要设置它的构造函数来接收这个位置,如下所示:
public PlayListForm(Point location)
{
InitializeComponent();
this.Location = location;
}
答案 1 :(得分:0)
您的代码存在的问题是您正在创建mainForm
的新实例。
我刚刚使用过它并且有效。
private void Form2_Load(object sender, EventArgs e)
{
mainForm form = (mainForm)Application.OpenForms["mainForm"];
this.Location = new Point(form.GetCoordinateX(), form.GetCoordinateY());
}