Click here to Skip to main content
13,510,146 members
Rate this:
Please Sign up or sign in to 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 24-Jan-13 3:08am
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?
Rate this: bad
Please Sign up or sign in to vote.

Solution 2

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:[^],[^].

Rate this: bad
Please Sign up or sign in to vote.

Solution 3

Use constructor for passing values from one form to another


Form1 :
form2 f=new form2("test string");;

Form 2 Constructor :
public form2(string temp)


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

  Print Answers RSS
Top Experts
Last 24hrsThis month

Advertise | Privacy |
Web03 | 2.8.180417.1 | Last Updated 24 Jan 2013
Copyright © CodeProject, 1999-2018
All Rights Reserved. Terms of Service
Layout: fixed | fluid

CodeProject, 503-250 Ferrand Drive Toronto Ontario, M3C 3G8 Canada +1 416-849-8900 x 100