W aplikacji WinForms mam 2 klasy Form1 i Form2. Form1 zawiera boola który jest ustawiany na true kiedy otwiera się okno z klasy Form2 i ma być przełączany na false gdy okno Form2 jest zamykane.
Form1 ma metodę:
public void WylaczBoola()
{
TrwaDodawanieNotatki = false;
}
Wykorzystuję ją w klasie Form2:
public partial class Form2 : Form
{
private void OnZamykanie(object sndr,EventArgs ea)
{
Program.okno.WylaczBoola();
}
public Form2()
{
InitializeComponent();
FormClosing += OnZamykanie;
}
}
Aby móc modyfikować Form1 z poziomu Form2 ustawiłem ją jako statyczne pole klasy Program. Spowodowało to jednak powstanie błędu - 'System.InvalidOperationException'
Co robię nie tak? : /
static class Program
{
public static Form1 okno = new Form1();
/// <summary>
/// The main entry point for the application.
/// </summary>
[STAThread]
static void Main()
{
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);///// tu blad
Application.Run(okno);
}
}