c# passing data between forms

2016/05/04 20:43

In C# project with two forms

public partial class Form1 : Form <- this is the main form

public partial class Form2 : Form <- this is the second form

To pass variables (values, data) from Form1 to Form2

Case: public variables in Form2

public string input_variable; <- put this in Form2 as global variable

public string output_variable; <- put this in Form2 as global variable

in Form1 inside the function that run (call) Form2

Form2 form = new Form2();

form.input_variable= "some string data"; <- send the input_variable from Form1 to Form2

DialogResult result = form.ShowDialog();

if (result == DialogResult.OK)


public string local_variable = form.output_variable;


In Form2 put an "OK" button that sets the value of output_variable.

private System.Windows.Forms.Button bOK;

this.bOK.DialogResult = System.Windows.Forms.DialogResult.OK;

private void bOK_Click(object sender, EventArgs e)


output_variable = "some string to return to Form1";


Case: private variables in Form2

In Form2 create public function that sets all the variables required and takes as parameters the variables transferred from Form1

public void InitData( string str_from_form1)


input_variable = str_from_form1;


In Form1 call this function and pass the variable or value required as parameter.

Form2 form = new Form2();