It appears that you're running an Ad-Blocker. This site is monetized by Advertising and by User Donations; we ask that if you find this site helpful that you whitelist us in your Ad-Blocker, or make a Donation to help aid in operating costs.

Previous Thread

Next Thread

Print Thread

Rate This Thread

#17515 - 12/23/0310:25 AMUrgent! Any expert, please help - reference to other form!

Recently I have been annoyed by the following question very much. It will be highly appreciated if anyone could help me!

I want to refer to some properties or controls in another form while I don't want to declare too much public variables.

For example, in module1, I want to get hwnd of frmMain:

hwnd = frmMain.hwnd

Here is my question:

When call the properties or control outside a form through the form name,

1. the event Form_Load (or Form_Initialize) will also be triggered in some projects;2. while in some other projects, Form_Load (or Form_Initialize) will not be triggered and I can call it just as a variable.

1) That form's Form_Load event is called2) The public variable or property is accessed

In that order. This always happens - and the form is not displayed. It won't be displayed until you call the form's show event or set the visible property to true. It is impossible to call those members of the form without first loading it.

Modules are the preferred choice. Modules are loaded when they are accessed and they stay loaded for the rest of that program's execution.

'frmMain' has finished loading. In the course of running, I need to call another procedure and in this procedure I will access some properties of frmMain. 'frmMain' remains displayed and loaded. Anyway the Form_Load in frmMain is triggered again (but in some other similar projects will not).

Form_Load will only be triggered multiple times if they are explicitly called in the code, or if you are loading duplicate forms like if you declare a variable as that form and play with it, or if the form is unloaded at any point (user presses the 'X' or the Unload method is called on it).