Delphi Prism:如何加载Winform而不显示它?

时间:2011-09-13 13:12:04

标签: winforms delphi controls delphi-prism showdialog

我需要加载一个winform来更新其控件的值或属性,然后再显示它。

我发现了一个stackoverflow问题同样的问题,但它的答案并没有真正帮助我。 Load a form without showing it

任何示例代码将不胜感激。谢谢,

3 个答案:

答案 0 :(得分:3)

只需要创建表单的新实例并设置控件的值。

检查此代码

Var
  AForm : ChildForm;
begin
  AForm:= new ChildForm;
  AForm.textBox1.Text:='Foo';  //this control can be accessed here  because the Modifiers property was set to public. 


  AForm.Show;
end;

顺便说一下,如果您想要修改或访问其他表单的控件,您必须设置控件的属性Modifiers以访问public

答案 1 :(得分:1)

创建如下表单:

form := new MyForm();

假设您已在MyForm上实施了一个更新值的方法,请将其命名为:

form.Update();//may need to pass parameters here

以通常的方式显示表单:

form.ShowDialog();

答案 2 :(得分:0)

来自MSDN:

  

<强> Form.Load
  在第一次显示表单之前发生。

因此,您可以在此事件处理程序中显示表单之前对所需的控件进行所有更新。

但实际上最好在控件上使用databinding,以便它们自动反映您希望它们显示的当前值,并且您不必编写任何粘合代码来控制数据(和读他们)。