C# 如何连接两个不同的windows窗体并保持两者都打开
我开发了一个包含两个表单的桌面应用程序。第二个表单在单击第一个表单时打开。现在打开第二个表单后,我想在桌面上同时移动两个表单。 而且形式的位置也应该改变。意味着如果第二个表单在左侧打开,并且我在到达最左侧边界后将两个表单移动到屏幕左侧,则第二个表单应在第一个表单的右侧打开,反之亦然。 现在,我可以根据位置在第一个窗体的左侧或右侧打开第二个窗体。(如果第一个窗体在左侧,则第二个窗体将在右侧打开,反之亦然) 如何做到这一点?C# 如何连接两个不同的windows窗体并保持两者都打开,c#,winforms,C#,Winforms,我开发了一个包含两个表单的桌面应用程序。第二个表单在单击第一个表单时打开。现在打开第二个表单后,我想在桌面上同时移动两个表单。 而且形式的位置也应该改变。意味着如果第二个表单在左侧打开,并且我在到达最左侧边界后将两个表单移动到屏幕左侧,则第二个表单应在第一个表单的右侧打开,反之亦然。 现在,我可以根据位置在第一个窗体的左侧或右侧打开第二个窗体。(如果第一个窗体在左侧,则第二个窗体将在右侧打开,反之亦然) 如何做到这一点? 提前谢谢 将属性StartPosition更改为手动。然后可以使用设置窗体
提前谢谢 将属性
StartPosition
更改为手动。然后可以使用设置窗体的位置
this.Location = new Point(any x coordinate, any y coordinate);
您还可以使用Left
子属性设置坐标
this.Left = 300;
这可能不是你问题的直接答案,但你可以根据自己的需要使用它。此代码显示表单之间的耦合。 考虑第一种形式,当您想显示第二种形式时
public partial class Form1 : Form
{
Form2 frm;
public Form1()
{
InitializeComponent();
frm = new Form2(this);
}
private void button1_Click(object sender, EventArgs e)//when you click button1 on form1 it shows form2
{
this.Hide();
frm.Show();
}
public partial class Form2 : Form
{
Form1 frm;
public Form2(Form1 fr)
{
InitializeComponent();
frm = fr;
}
private void button1_Click(object sender, EventArgs e)//when you click button1 on form2 it shows form1
{
this.Hide();
frm.Show();
}
}
}
现在是第二种形式
public partial class Form1 : Form
{
Form2 frm;
public Form1()
{
InitializeComponent();
frm = new Form2(this);
}
private void button1_Click(object sender, EventArgs e)//when you click button1 on form1 it shows form2
{
this.Hide();
frm.Show();
}
public partial class Form2 : Form
{
Form1 frm;
public Form2(Form1 fr)
{
InitializeComponent();
frm = fr;
}
private void button1_Click(object sender, EventArgs e)//when you click button1 on form2 it shows form1
{
this.Hide();
frm.Show();
}
}
}
Form2 newform=新Form2()
this.Hide()
newForm.ShowDialog()
this.Show()
是的,我知道这个属性,我正在使用它显示第二个表单。但是有没有其他方法可以连接表单而不是更改位置。因为我必须同时移动两个表单“表单将连接而不是更改位置”。“连接”这个词的确切含义是什么?按视觉连接方式连接或按窗体耦合方式连接?视觉连接方式,第二个窗体为弹出型,单击第一个窗体打开,移动时仅主窗体不移动第二个窗体。移动后,点击主窗体第二个窗体打开连接到它的窗体,我已经设置好了它的位置对不起,它的Eid在这里,所以我回复晚了。请纠正我,如果我理解正确的话,当你点击主窗体上的某个按钮时,会打开一个新窗体,对吗?因为您的上述内容和您的问题似乎相互矛盾。是的,表单在单击第一个表单时打开,它们仍应连接。我移动第一个表单,再次单击第一个表单,第二个表单隐藏。我使用第一个窗口设置第二个窗口的位置,但在移动第一个窗口时,第二个窗口保持不变,因为位置在移动之后发生了变化点击第一个窗口。我想移动第二个窗口和第一个窗口,保持两个窗口都打开。