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();

form.InitData(string_to_pass_toForm2);