Click here to Skip to main content
15,889,034 members
Please Sign up or sign in to vote.
0.00/5 (No votes)
See more:
DLL1 Contains XML Stream and DLL2 Contains UserControl that will Display the values of XML and FORM will call DLL2 to display.
Posted
Comments
George Jonsson 4-Sep-14 1:02am    
Too little info to give any good help.
For example, are the two forms running in the same application or do you run two different applications?
strongholdx 4-Sep-14 1:45am    
there is only 1 form but it accessed 2 DLL . DLL1 Get the XML DLL2 Usercontrol
George Jonsson 4-Sep-14 2:02am    
Ok, then I misunderstood your question.
So you have a customized user control that will display an XML structure in some way?
What is the input data to this user control? Is it an XML stream and the user control will read from the stream and present the values?
strongholdx 4-Sep-14 2:16am    
Usercontrol display Treelist of the data from dll1 that provides xml
George Jonsson 4-Sep-14 2:21am    
So where are you stuck?
Have you added DLL1 and DLL2 as a reference to your WinForm project?

This is the popular question about form collaboration. The most robust solution is implementation of an appropriate interface in form class and passing the interface reference instead of reference to a "whole instance" of a Form. Please see my past solution for more detail: How to copy all the items between listboxes in two forms[^].

Please also see other solutions in this discussion. If the application is simple enough, the solution could be as simple as declaring of some internal property in one form and passing a reference to the instance of one form to the instance of another form. For more complex projects, such violation of strictly encapsulated style and loose coupling could add up the the accidental complexity of the code and invite mistakes, so the well-encapsulated solution would be preferable.

Please see also:
http://en.wikipedia.org/wiki/Accidental_complexity[^],
http://en.wikipedia.org/wiki/Loose_coupling[^].

Now, the different "DLLs" (in .NET, the main unit and one of the central points of technology is assembly, and DLL or not DLL, any PE file is merely one or the only module of an assembly) makes almost no difference. If your assemblies are composed in one application by referenced them, the only major difference is access modifiers: in the same assembly, accessible types and members can be public, protected or internal, while working across different assemblies requires accessible types and members to be protected (for members of derived classes) or public.

—SA
 
Share this answer
 
Comments
Wendelius 4-Sep-14 23:38pm    
Nice answer! 5.
Sergey Alexandrovich Kryukov 5-Sep-14 0:12am    
Thank you, Mika.
—SA
As the question turned out to be very popular, and my previous answers often were not well understood, probably were not clear enough, I decided to write a Tips/Trick article complete with detailed code samples and explanations: Many Questions Answered at Once — Collaboration between Windows Forms or WPF Windows.

—SA
 
Share this answer
 
I created instances to both DLL and process inside the form.
thanks to everyone .
 
Share this answer
 

This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)



CodeProject, 20 Bay Street, 11th Floor Toronto, Ontario, Canada M5J 2N8 +1 (416) 849-8900