1

我有一个有 5 个 MDI 子级的主窗体。创建主窗体时,也会创建并显示 mdi 子窗体。

我在屏幕上为它们分配了不同的位置,但是当它们显示时,它们从默认位置开始,并以令人不安的方式移动到新位置。我试图在显示表单之前分配位置,但是在调用 the.Show() 之后,它们往往会转到某个默认位置。有没有办法避免显示从默认位置到新位置的这种移动?

这是一个代码片段

groupSettingsForm.Show();
        groupSettingsForm.Location = new Point(0, 0);
        dsForm.Show();
        dsForm.Location = new Point(groupSettingsForm.Width, 0);
        dPlots.Show();
        dPlots.Location = new Point(groupSettingsForm.Width, dsForm.Height);
        alertsForm.Show();
        alertsForm.Location = new Point(groupSettingsForm.Width, dsForm.Height + dPlots.Height);
        dataValuesForm.Show();
        dataValuesForm.Location = new Point(0, groupSettingsForm.Height);

我试过这个,但它对我不起作用

   groupSettingsForm.Location = new Point(0, 0);
        groupSettingsForm.Show();

        dsForm.Location = new Point(groupSettingsForm.Width, 0);
        dsForm.Show();

        dPlots.Location = new Point(groupSettingsForm.Width, dsForm.Height);
        dPlots.Show();

        alertsForm.Location = new Point(groupSettingsForm.Width, dsForm.Height + dPlots.Height);
        alertsForm.Show();

        dataValuesForm.Location = new Point(0, groupSettingsForm.Height);
        dataValuesForm.Show();
4

1 回答 1

1

我只是有类似的东西-我的问题可以在这里找到

您需要将StartPosition属性设置为FormStartPosition.Manual

form.StartPosition = FormStartPosition.Manual;
form.Location = new System.Drawing.Point(0, 0);
于 2009-06-16T09:04:33.693 回答