我有一个有5个MDI孩子的主表单。创建主窗体时,也会创建并显示mdi子窗口。
我在屏幕上为它们分配不同的位置,但是当它们显示时,它们从默认位置开始,并以令人不安的方式移动到新位置。我在显示表单之前尝试分配位置,但是在调用.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();
答案 0 :(得分:1)
我刚才有类似的事情 - my question can be found here。
您需要将StartPosition
属性设置为FormStartPosition.Manual
:
form.StartPosition = FormStartPosition.Manual;
form.Location = new System.Drawing.Point(0, 0);