Feeling really thick at the moment as I just cant work out how to get this working:
I'm developing a simple C# .NET WinForm database front-end app which consists of a main form (we'll call 'MainForm' for now), a Panel control on MainForm, and 3 usercontrols (CtrlA, CtrlB, CtrlC). When the app is started the 3 usercontrols are added to the panels control collection and i'm changing the .visible properly of the usercontrols, using menu buttons on MainForm, so only 1 is visible at a time.
So far its working fine except now I need a method in CtrlA to pass a variable to a public method on MainForm, which hides CtrlA, makes CtrlC visible then passes the variable into a method in CtrlC which then accesses the database and changes the properties of a bunch on controls on CtrlC.
The problem is I can only access the public methods if they are static, and if they are static I can't set properties etc so whats the normal way of getting the usercontrols to communicate with each other properly? I've been looking at delegates and googling all sorts but I just cant get my head around it all

Up till now i've only worked with ASP.NET web apps, this is my first forms project for a LONG time so step by step explinations would be a great help <3
I'm developing a simple C# .NET WinForm database front-end app which consists of a main form (we'll call 'MainForm' for now), a Panel control on MainForm, and 3 usercontrols (CtrlA, CtrlB, CtrlC). When the app is started the 3 usercontrols are added to the panels control collection and i'm changing the .visible properly of the usercontrols, using menu buttons on MainForm, so only 1 is visible at a time.
So far its working fine except now I need a method in CtrlA to pass a variable to a public method on MainForm, which hides CtrlA, makes CtrlC visible then passes the variable into a method in CtrlC which then accesses the database and changes the properties of a bunch on controls on CtrlC.
The problem is I can only access the public methods if they are static, and if they are static I can't set properties etc so whats the normal way of getting the usercontrols to communicate with each other properly? I've been looking at delegates and googling all sorts but I just cant get my head around it all


Up till now i've only worked with ASP.NET web apps, this is my first forms project for a LONG time so step by step explinations would be a great help <3