• Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 4476
  • Last Modified:

Loading UserControls in Panel in C#

I'm new to C# and VS.NET and was having an issue I was hoping someone could help me with.  I have a main form that has some standard information I would always like to display on my application (like a header for a webpage but in this case an application).  I then have a panel on my main form called targetPanel which I was wanting to load UserControls I created into.  Basically the application will load one UserControl on startup and then when clicking a button (located inside that user control) it should be able to load another user control inside this targetPanel. Below is some code I was using to try and do this.

public void ShowControl(UserControl controlName){
   targetPanel.Controls.Clear(); // Remove any current controls in the panel
   targetPanel.Controls.Add(controlName); // Put the special control in the host panel
   controlName.Dock = DockStyle.Fill; // Make the control fill the host panel
}

The problem of course is that every userControl is its own class in C# and already has inheritance with the UserControl class built in with .NET.  So how do I have one user control communicate with the MainForm so that it can alter the panel I have on that form called targetPanel so it can load another UserControl based on what was selected?

I would greatly appreciate some assistance as this has been bugging me.  Thank you.
0
nconfer
Asked:
nconfer
1 Solution
 
Mike TomlinsonMiddle School Assistant TeacherCommented:
"UserControls I created"

Create custom events in your UserControl to communicate information back to the main form.  This is done with Delegates in C#...
0

Featured Post

Concerto Cloud for Software Providers & ISVs

Can Concerto Cloud Services help you focus on evolving your application offerings, while delivering the best cloud experience to your customers? From DevOps to revenue models and customer support, the answer is yes!

Learn how Concerto can help you.

Tackle projects and never again get stuck behind a technical roadblock.
Join Now