public class VariableClass
{
  //list vars here, e.g.
  int Count;
  ArrayList Marks;
}public class Form2 : Form
{
  public delegate void OnOkClicked(VariableClass vars);
  public event OnOkClicked OnOkClickedEvent;
  //...
  public btnF2_OnClick(object sender, EventArgs e)
  {
    if (OnOkClickedEvent != null)
    {
      VariableClass vars = new VariableClass();
      //fill in the vars object with data
      OnOkClickedEvent(vars);
    }
    this.Close();
  }
}public class Form1 : Form
{
  public void HandleEvent(VariableClass vars)
  {
    //do whatever with the vars
  }  public void btnF1_OnClick(object sender, EventArgs e)
  {
    Form2 f2 = new Form2();
    f2.OnOkClickedEvent += new Form2.OnOkClicked(HandleEvent);
    f2.Show();
  }
}