【发布时间】:2009-07-07 19:38:25
【问题描述】:
我创建了一堆表单,我想在应用程序关闭/启动时保存并恢复它们的位置。
但是,如果表单不可见,则 .top 和 .left 都是 0。只有当它可见时,这些属性才会填充它们的“真实”值。
现在我的任务是显示每个表单,保存信息,然后将其返回到之前的可见状态:
int i;
bool formVisible;
// Show all current forms and form positions in array frmTestPanels
i = 0;
while (frmTestPanels[i] != null)
{
formVisible = frmTestPanels[i].Visible;
frmTestPanels[i].Visible = true;
note(frmTestPanels[i].Text + "(" + frmTestPanels[i].Left.ToString() + ", " + frmTestPanels[i].Top.ToString() + ") visible: " + formVisible.ToString());
frmTestPanels[i].Visible = formVisible;
i++;
}
note(i.ToString() + " forms present");
note() 是一个简单的函数,只显示信息。
当然,这会导致所有不可见的表单在关机时闪烁(也可能在启动时?还没有到那一步……),这是不可取的。
- 当表单不可见时,还有其他方法可以获取表单的顶部和左侧吗?
- 或者,有没有更好的方法来保存和恢复表单状态?
【问题讨论】: