【发布时间】:2010-02-07 18:17:33
【问题描述】:
我有一个 Windows 窗体,我想从中打开一个显示“正在保存...”的状态窗体 然后在保存完成后消失。我想把这个小的状态表格放在呼叫表格的中间。我尝试将“StartPosition”属性设置为“CenterParent”,但它不起作用。我从其他表单创建状态表单,如下所示:
SavingForm saving = new SavingForm();
savingForm.Show();
Thread.Sleep(500); //Someone said this is bad practice ... why?
savingForm.Close();
调用表单不是“父级”吗? 当我设置一个保存手表时,它说它没有父母。
我试过了:
SavingForm saving = new SavingForm();
saving.Parent = this;
savingForm.Show();
Thread.Sleep(500);
savingForm.Close();
它会抛出异常“无法将顶级控件添加到控件中。”
如何让这个状态窗口在呼叫窗口居中?
提前致谢
【问题讨论】:
-
The Show.. Sleep.. Close.. 代码不保证实际显示任何内容。此外,您的 UI 线程在睡眠期间挂起,因此可能会引入 UI 故障。
-
非常有用的相关帖子,这是这个问题的根源 - Whats the difference between Parentform and Owner