Boh non ho capito granchè ma facciamo finta che ho capito.
Io ho un form1 e in questo Form dichiaro questa variabile bool:

public static bool ok = true;

Nel Load del Form1 posso leggere il valore di ok che ovviamente vale true:

private void Form1_Load(object sender, EventArgs e)
{
MessageBox.Show(ok.ToString());
}

Sempre in Form1 posso mettere un button dove cambio il valore di ok:

private void button1_Click(object sender, EventArgs e)
{
ok=!ok;
MessageBox.Show(ok.ToString());

}

Ora in Form1 metto un secondo button che mi apre un secondo Form:

private void button2_Click(object sender, EventArgs e)
{
Form Form2 = new Form2();
Form2.Show();
}

Anche in Form2 posso avere un button che mi legge ok:

private void button1_Click(object sender, EventArgs e)
{
MessageBox.Show(Form1.ok.ToString());
}

Ebbene questo button in Form2 "vede" il giusto valore di ok, o meglio, di Form1.ok.