winforms 动态显示窗体位置C#

vi4fp9gy  于 2022-11-25  发布在  C#
关注(0)|答案(1)|浏览(171)

我想按照我的意愿在Form1中显示窗体2的位置,确切地说,放置在右边。
我用form1编写了这段代码:

public static int ParentX, ParentY;

     private void BT_ShowForm2_Click(object sender, EventArgs e)
      {
          using (Form2 Frm = new Form2 ())
          {
              ParentX = Location.X;
              ParentY = Location.Y;
              Frm.ShowDialog();
          }

该代码格式为2:

private void Form2_Load(object sender, EventArgs e)
    {
        Location = new Point(Form1.ParentX + 385, Form1.ParentY + 120);
    }

当form1处于正常位置时,代码将按照我的要求工作,但当form1处于Maximize位置时,Form2将不再处于我希望的位置。
我想让form2在form1处于正常和最大位置时出现在相同的位置。如何实现这一点?
如果这个问题是错的,我很抱歉,我还在学习阶段,英语不是很好。

2exbekwf

2exbekwf1#

这是否有效?

if (Form1.WindowState == FormWindowState.Maximized)
{
//Place form
} else {
Location = new Point(Form1.ParentX + 385, Form1.ParentY + 120);
}

相关问题