I have some logic that populates UI controls with values from App.config. A
couple of checkboxes get checked or unchecked; and items loaded into a
checked list box.
Two reasonable places to put this code:
1. the form's constructor (or in a method called from within the
constructor)
2. the Form_Load event procedure
What are the important considerations or tradeoffs entailed by those two
choices?
Thanks. 34 3435
Smithers,
If you place the code in the form's constructor, then you have to make
sure that you know that all the objects representing the child controls (the
instances of the objects, not the window handles) have been created (after
the InitializeCompo nent method, generally, if you are using
designer-generated code).
The Load event is called before the form is shown for the first time,
but after the form is constructed, so you know the child controls have been
created at this point.
--
- Nicholas Paldino [.NET/C# MVP]
- mv*@spam.guard. caspershouse.co m
"Smithers" <A@B.comwrote in message
news:uO******** ******@TK2MSFTN GP02.phx.gbl...
>I have some logic that populates UI controls with values from App.config. A couple of checkboxes get checked or unchecked; and items loaded into a checked list box.
Two reasonable places to put this code:
1. the form's constructor (or in a method called from within the
constructor)
2. the Form_Load event procedure
What are the important considerations or tradeoffs entailed by those two
choices?
Thanks.
Hi,
Preference basically, if you put it in the constructor just make sure of
doing it after the call to InitializeCompo nents()
"Smithers" <A@B.comwrote in message
news:uO******** ******@TK2MSFTN GP02.phx.gbl...
>I have some logic that populates UI controls with values from App.config. A couple of checkboxes get checked or unchecked; and items loaded into a checked list box.
Two reasonable places to put this code:
1. the form's constructor (or in a method called from within the
constructor)
2. the Form_Load event procedure
What are the important considerations or tradeoffs entailed by those two
choices?
Thanks.
"Smithers" <A@B.comwrote in message
news:uO******** ******@TK2MSFTN GP02.phx.gbl...
>I have some logic that populates UI controls with values from App.config. A couple of checkboxes get checked or unchecked; and items loaded into a checked list box.
Two reasonable places to put this code:
1. the form's constructor (or in a method called from within the
constructor)
2. the Form_Load event procedure
What are the important considerations or tradeoffs entailed by those two
choices?
Use the OnLoad override instead, events are there so *other* objects can get
notifications, an object should not generally use it's own events to get
notifications.
You can probably use the constructor as other's have said but this is what
the Load event is for so IMO it is more technically correct to put it there.
Michael
RE:
<< events are there so *other* objects can get notifications, an object
should not generally use it's own events to get
notifications>>
Can you please clarify? I'm not sure what you mean by "can get
notifications" - - is there something about calling from the constructor
that would prevent it?
Thanks.
"Michael C" <no****@nospam. comwrote in message
news:%2******** ********@TK2MSF TNGP06.phx.gbl. ..
"Smithers" <A@B.comwrote in message
news:uO******** ******@TK2MSFTN GP02.phx.gbl...
>>I have some logic that populates UI controls with values from App.config. A couple of checkboxes get checked or unchecked; and items loaded into a checked list box.
Two reasonable places to put this code: 1. the form's constructor (or in a method called from within the constructor) 2. the Form_Load event procedure
What are the important considerations or tradeoffs entailed by those two choices?
Use the OnLoad override instead, events are there so *other* objects can
get notifications, an object should not generally use it's own events to
get notifications.
You can probably use the constructor as other's have said but this is what
the Load event is for so IMO it is more technically correct to put it
there.
Michael
"Smithers" <A@B.comwrote in message
news:O0******** ******@TK2MSFTN GP05.phx.gbl...
RE:
<< events are there so *other* objects can get notifications, an object
should not generally use it's own events to get
notifications>>
Can you please clarify? I'm not sure what you mean by "can get
notifications"
An event is designed so other objects can get notifications from an object.
Eg, when someone clicks a button the click event is raised and the form is
"notified" of the click. A form itself does not need to use an event to get
it's own notifications, it can use the override instead.
- - is there something about calling from the constructor that would
prevent it?
This is not in reference to the constructor, I'm comparing using events to
overrides.
Michael
I understand your points, I'm just not connecting them with the OP. In the
OP I'm wondering where to put some initialization code, and don't see how
the facts you state (which I agree with) relate to the question of where to
put initialization code.
RE:
<< A form itself does not need to use an event to get it's own
notifications, it can use the override instead>>
Yes, of course, but what does this have to do with the OP?
RE:
>- - is there something about calling from the constructor that would prevent it?
This is not in reference to the constructor, I'm comparing using events to
overrides.
I see that... just not making the connection of that point with your
apparent recommendation for using Form_Load.
I suspect you know what you are trying to say... not sure it's coming across
though.
-"Smithers"
"Michael C" <no****@nospam. comwrote in message
news:eN******** *****@TK2MSFTNG P02.phx.gbl...
"Smithers" <A@B.comwrote in message
news:O0******** ******@TK2MSFTN GP05.phx.gbl...
>RE: << events are there so *other* objects can get notifications, an object should not generally use it's own events to get notifications> >
Can you please clarify? I'm not sure what you mean by "can get notification s"
An event is designed so other objects can get notifications from an
object. Eg, when someone clicks a button the click event is raised and the
form is "notified" of the click. A form itself does not need to use an
event to get it's own notifications, it can use the override instead.
>- - is there something about calling from the constructor that would prevent it?
This is not in reference to the constructor, I'm comparing using events to
overrides.
Michael
The OP asked about the constructor vs the Load Event.
Michael was just pointing out that if you decide to put code in the
Load Event it is better to override the form's OnLoad method rather
than hooking into the actual Load Event.
On Tue, 7 Aug 2007 17:03:04 -0700, "Smithers" <A@B.comwrote :
>I understand your points, I'm just not connecting them with the OP. In the OP I'm wondering where to put some initialization code, and don't see how the facts you state (which I agree with) relate to the question of where to put initialization code.
RE: << A form itself does not need to use an event to get it's own notification s, it can use the override instead>> Yes, of course, but what does this have to do with the OP?
RE:
>>- - is there something about calling from the constructor that would prevent it?
This is not in reference to the constructor, I'm comparing using events to overrides.
I see that... just not making the connection of that point with your apparent recommendation for using Form_Load.
I suspect you know what you are trying to say... not sure it's coming across though.
-"Smithers"
"Michael C" <no****@nospam. comwrote in message news:eN******* ******@TK2MSFTN GP02.phx.gbl...
>"Smithers" <A@B.comwrote in message news:O0******* *******@TK2MSFT NGP05.phx.gbl.. .
>>RE: << events are there so *other* objects can get notifications, an object should not generally use it's own events to get notifications >>
Can you please clarify? I'm not sure what you mean by "can get notifications "
An event is designed so other objects can get notifications from an object. Eg, when someone clicks a button the click event is raised and the form is "notified" of the click. A form itself does not need to use an event to get it's own notifications, it can use the override instead.
>>- - is there something about calling from the constructor that would prevent it?
This is not in reference to the constructor, I'm comparing using events to overrides.
Michael
Smithers wrote:
I understand your points, I'm just not connecting them with the OP. In the
OP I'm wondering where to put some initialization code, and don't see how
the facts you state (which I agree with) relate to the question of where to
put initialization code.
In your original post, the two options you offered were to use the
constructor, or to use a handler for the Load event.
If I may, I believe that his point is that the second option should not
have been among the offered options. Instead, overriding the OnLoad()
method would be more appropriate, assuming you want the work to be done
during the Load event in the first place.
If the code winds up in the constructor, obviously that's a moot point.
But if it is appropriate to put it in the Load event handling, he's
saying you should do that by writing an override for OnLoad, rather than
handling the event itself.
Personally, while I agree with his point, I can't say I feel it matters
much one way or the other. If I have a situation in which I can
override the event-related method directly rather than subscribing to
the event, and there's no other design requirement necessitating the use
of the event, I will write an override rather than subscribing to the
event. But opinions may vary (and I know for a fact that they do :) ),
and I can't really say that subscribing to the event is necessarily a
bad design, even when an override is possible.
Pete
"Peter Duniho" <Np*********@Nn OwSlPiAnMk.comw rote in message
news:13******** *****@corp.supe rnews.com...
Personally, while I agree with his point, I can't say I feel it matters
much one way or the other. If I have a situation in which I can override
the event-related method directly rather than subscribing to the event,
and there's no other design requirement necessitating the use of the
event, I will write an override rather than subscribing to the event. But
opinions may vary (and I know for a fact that they do :) ), and I can't
really say that subscribing to the event is necessarily a bad design, even
when an override is possible.
I can see a couple of reasons to use the override. First, it is more
efficient than using an event. Second, the override is potentially more
reliable as it's possible to not have the event being listened to and it is
not immediately obvious (I have had this happen). I know these are fairly
minor points but if one method is slightly better yet equivelant isn't it
better to go with the one that is slightly better?
Michael This thread has been closed and replies have been disabled. Please start a new discussion. Similar topics |
by: Phil IU Guy |
last post by:
I am having 2 issues, both acting very randomly, and for the most part
I dont get this message on most computers, but I have had a couple
computers get either issue 1, or issue 2.
Issue #1: I have a module that has a function that starts as:
Function setFormColors(frm As Form)
This function takes a form and looks through its objects and if
certain object names meet a certain critera (such as start with lblBD)
do a certain action (like...
|
by: deko |
last post by:
Is there a difference between the Form_Open and Form_Load events? When
should I use one rather than the other? I have several forms that require
code to run when they open... or is it when they load?
Thanks in advance.
|
by: Frank Rizzo |
last post by:
In vb6, you could do all the resizing of the form (and its constituent
controls) in the form_load event, knowing that the form won't show up
until the Form_load event was exited.
In my vb.net app, I resize a bunch of controls, etc... in the Form_Load
event, but it seems that when the form actually appears on the screen,
there is still resizing going on.
How can I make sure that the form shows up after all the resizing has
been...
|
by: =?Utf-8?B?VG9u?= |
last post by:
Hello,
I want to understand teh benefits of ajax technology. Does anyone has a good
website where AJAX EXTENSIONS is worked out so I really understand it.
There a 2 main questions:
1) How about the form load event. Why should it fire when I put a button in
a update panel? Is this necessary and is only the other controls related to
the update panel send back? Or the whole page (If this is true I really do
not get it). But please answer...
|
by: brightshadow |
last post by:
I have a super simple Access DB with four tables and one form.. I'm an old hand at Excel VBA but am just starting with Access, so this is likely a totally stupid question, but here goes anyway.
In Form_Load() for the form, I have a time based trigger that lets the DB execute a macro and automatically quit when the macro is completed so I can run overnight maintenance where it runs some SQL queries on external databases, and builds an Excel...
| |
by: Dom |
last post by:
How do I end a program while in Form_Load? I tried both this.Close(),
and Application.Exit(), but neither will just end the program there
and then. Instead, both allow Form_Load to continue.
|
by: Olrik |
last post by:
I'm having a problem with c# when switching forms. It seems that when i switch from one form to the other they always call Form_load, which I don't want.
Im using form.show() and form.hide() so I don't understand why they are calling form_load.
This is the code:
from form1
private void btnModify_Click(object sender, EventArgs e)
{
Form mod = new modifyForm();
|
by: ezechiel |
last post by:
Hi,
I have the following (limited to problem):
2 tables:
software (sw_id (pk), sop_id(fk))
sop(sop_id, sop_name, sop_nr)
In the form (actually a software record):
- a combobox
control source: sop_id in software table
|
by: marktang |
last post by:
ONU (Optical Network Unit) is one of the key components for providing high-speed Internet services. Its primary function is to act as an endpoint device located at the user's premises. However, people are often confused as to whether an ONU can Work As a Router. In this blog post, we’ll explore What is ONU, What Is Router, ONU & Router’s main usage, and What is the difference between ONU and Router. Let’s take a closer look !
Part I. Meaning of...
|
by: Hystou |
last post by:
Overview:
Windows 11 and 10 have less user interface control over operating system update behaviour than previous versions of Windows. In Windows 11 and 10, there is no way to turn off the Windows Update option using the Control Panel or Settings app; it automatically checks for updates and installs any it finds, whether you like it or not. For most users, this new feature is actually very convenient. If you want to control the update process,...
|
by: agi2029 |
last post by:
Let's talk about the concept of autonomous AI software engineers and no-code agents. These AIs are designed to manage the entire lifecycle of a software development project—planning, coding, testing, and deployment—without human intervention. Imagine an AI that can take a project description, break it down, write the code, debug it, and then launch it, all on its own....
Now, this would greatly impact the work of software developers. The idea...
| |
by: isladogs |
last post by:
The next Access Europe User Group meeting will be on Wednesday 1 May 2024 starting at 18:00 UK time (6PM UTC+1) and finishing by 19:30 (7.30PM).
In this session, we are pleased to welcome a new presenter, Adolph Dupré who will be discussing some powerful techniques for using class modules.
He will explain when you may want to use classes instead of User Defined Types (UDT). For example, to manage the data in unbound forms.
Adolph will...
|
by: conductexam |
last post by:
I have .net C# application in which I am extracting data from word file and save it in database particularly. To store word all data as it is I am converting the whole word file firstly in HTML and then checking html paragraph one by one.
At the time of converting from word file to html my equations which are in the word document file was convert into image.
Globals.ThisAddIn.Application.ActiveDocument.Select();...
|
by: TSSRALBI |
last post by:
Hello
I'm a network technician in training and I need your help.
I am currently learning how to create and manage the different types of VPNs and I have a question about LAN-to-LAN VPNs.
The last exercise I practiced was to create a LAN-to-LAN VPN between two Pfsense firewalls, by using IPSEC protocols.
I succeeded, with both firewalls in the same network. But I'm wondering if it's possible to do the same thing, with 2 Pfsense firewalls...
|
by: adsilva |
last post by:
A Windows Forms form does not have the event Unload, like VB6. What one acts like?
|
by: 6302768590 |
last post by:
Hai team
i want code for transfer the data from one system to another through IP address by using C# our system has to for every 5mins then we have to update the data what the data is updated we have to send another system
|
by: muto222 |
last post by:
How can i add a mobile payment intergratation into php mysql website.
| |