Click here to Skip to main content
15,885,757 members
Please Sign up or sign in to vote.
1.00/5 (1 vote)
See more:
Hi friends,

I want to show/call Form2 from Form1 and pass value from Form1 to Form2

Both are simple WinForms and using C# to acieve this.
Please help.
Posted
Comments
joshrduncan2012 24-Jan-13 9:09am    
What have you tried to do so far in accomplishing this task?
Sergey Alexandrovich Kryukov 24-Jan-13 15:22pm    
What do you mean by "call" here?
—SA

There is no such concept as "calling a form". A form is not a procedure, method, function, property, subroutine or operator.

This must be 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[^].

—SA
 
Share this answer
 
Use constructor for passing values from one form to another

eg:

Form1 :
C#
form2 f=new form2("test string");
f.show();


Form 2 Constructor :
C#
public form2(string temp)
{

}
 
Share this answer
 
v2

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