I have had this question always in my mind. Imagine I have at least 5 dataadapters to be added to my form and in the life cycle of the form I need to refere to them from time to time. So i have three choices:
1-Add them in desgin time then when the form is intialized the connection, dataadapters and dataset are intialized and kept active until I close the form and all disposed.
2-Add them at run time and do not dispose them then it has the same impact as the previous one.
3-Add them at run time when needed and then dispose them when finished with them, and repeat this each time needed.

Which one of the above solutions you suggest? and why? I just bring dataadapters as example, it can be any object.