C# 打开第二张表格,右下一张表格
我正在使用winforms 我创建了一个即将完成的应用程序。考虑下面的内容:我有两种形式,第一种形式在应用程序启动时启动,第二种形式需要在第一个窗体旁边打开。 例如: 如何在第二张表格中访问第一张表格的位置?我应该把这个发送给第二个表单的构造函数吗 编辑 以下代码帮助了我:C# 打开第二张表格,右下一张表格,c#,winforms,visual-studio,location,C#,Winforms,Visual Studio,Location,我正在使用winforms 我创建了一个即将完成的应用程序。考虑下面的内容:我有两种形式,第一种形式在应用程序启动时启动,第二种形式需要在第一个窗体旁边打开。 例如: 如何在第二张表格中访问第一张表格的位置?我应该把这个发送给第二个表单的构造函数吗 编辑 以下代码帮助了我: private void changelogToolStripMenuItem_Click(object sender, EventArgs e) { if (_changelog.IsDisposed)
private void changelogToolStripMenuItem_Click(object sender, EventArgs e)
{
if (_changelog.IsDisposed)
{
_changelog = new Changelog();
}
_changelog.Location = new Point((Left + Width), Top);
_changelog.Show();
}
在设计构造函数时要记住的一条基本规则是:永远不要给构造函数提供任何不必要的信息 所以,这里你需要的不是另一个窗口,而是它的位置。 更好的是,您需要新窗口的位置 这意味着您不应该让第二个表单知道第一个表单,相反,它的构造函数应该采取以下两种方式之一: 单参数点定位 两个参数intx,inty 取决于你的喜好。 当然,您可以同时使用这两个构造函数,因此您可以决定是给出点位置还是int x,int y 说了这么多,忘了你读的东西吧。 与使用构造函数相比,创建第二个表单时,我只需手动设置属性:
SecondForm form = new SecondForm()
{
Location = new Point(this.Right, this.Top)
};
这只是另一种说法:
SecondForm form = new SecondForm();
form.Location = new Point(this.Right, this.Top);
在设计构造函数时要记住的一条基本规则是:永远不要给构造函数提供任何不必要的信息 所以,这里你需要的不是另一个窗口,而是它的位置。 更好的是,您需要新窗口的位置 这意味着您不应该让第二个表单知道第一个表单,相反,它的构造函数应该采取以下两种方式之一: 单参数点定位 两个参数intx,inty 取决于你的喜好。 当然,您可以同时使用这两个构造函数,因此您可以决定是给出点位置还是int x,int y 说了这么多,忘了你读的东西吧。 与使用构造函数相比,创建第二个表单时,我只需手动设置属性:
SecondForm form = new SecondForm()
{
Location = new Point(this.Right, this.Top)
};
这只是另一种说法:
SecondForm form = new SecondForm();
form.Location = new Point(this.Right, this.Top);
为什么不在打开新表单时定位它
Form2 f = Form2();
f.Location = new Point(this.Left + this.Width, this.Top);
f.Show(); // Or ShowDialog()
当然,这需要将第二个表单属性StartPosition设置为FormStartPosition.Manual。为什么不在打开新表单时定位它
Form2 f = Form2();
f.Location = new Point(this.Left + this.Width, this.Top);
f.Show(); // Or ShowDialog()
当然,这需要将第二个表单属性StartPosition设置为FormStartPosition。如果允许,Manual将接受您的答案,因为您的答案解决了问题。如果允许,Manual将接受您的答案,因为您的答案解决了问题