on the usercontrol's cs file create an event delegate and event like so
public delegate void onMyEventHandler(object sender, EventArgs e);
public event onMyEventHandler OnMyEvent;
then when the usercontrol needs to tell the form its time to be removed. just call that event
OnMyEvent(this, new EventArgs(null));
on the main form you just create your event handlers as usual.
usercontrol myUserControl = new usercontrol();
myUserControl.OnMyEvent += new myUserControl.onMyEventHandler(catchevent);
void catchevent(object sender, EventArgs e)
{
Panel2.Controls.remove(((control)sender));
//or Panel2.Controls.Clear();
}
something simple that that should work. sorry its been a while since I have been on because I have been really busy.