开发者

Delphi Prism: How to load Winform without showing it?

I have a winform that needs to be loaded to update its controls' values or properties, before it is to be shown.

I found a stackover开发者_开发问答flow question asking the same thing, but it's answer doesn't really help me. Load a form without showing it

Any sample code will be appreciated. Thank you,


Only you need create a new instance of the form and set the values of the controls.

check this code

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;

Btw remember if you want modify or access the controls of another form you must set the property Modifiers of the control to access to public.


Create the form like this:

form := new MyForm();

Assuming you have implemented a method on MyForm to update the values, call it:

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

Show the form in the usual way:

form.ShowDialog();


From MSDN:

Form.Load
Occurs before a form is displayed for the first time.

So you can do all updates to the controls that are necessary before you show the form in this event handler.

But actually it is probably better to use databinding on the controls, so that they automatically reflect the current values you want them to show and you don't have to write any glue code bringing data on controls (and reading from them).

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜