Bueno, yo los utilizo para poner fondos, imagenes, crear efectos, depende de lo que necesite.
puedes ponerlo visible u ocultarlo. puedes cambiar los tamaños o posiciones.
agregales eventos con el mouse o al repintarse.
aca un codigo que cuando pasas el mouse sobre el panel cambia de color y el cursasr tambien
private void InitializeComponent()
{
this.panel1 = new System.Windows.Forms.Panel();
this.SuspendLayout();
//
// panel1
//
this.panel1.Location = new System.Drawing.Point(143, 54);
this.panel1.Name = "panel1";
this.panel1.Size = new System.Drawing.Size(300, 300);
this.panel1.TabIndex = 0;
//
// Form1
//
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.ClientSize = new System.Drawing.Size(586, 408);
this.Controls.Add(this.panel1);
this.Name = "Form1";
this.Text = "Form1";
this.Load += new System.EventHandler(this.Form1_Load);
this.ResumeLayout(false);
}
private void panel1_MouseEnter(object sender, EventArgs e)
{
panel1.BackColor = System.Drawing.Color.Green;
this.panel1.Cursor = Cursors.Hand;
}
private void panel1_MouseLeave(object sender, EventArgs e)
{
panel1.BackColor = System.Drawing.Color.Navy;
this.panel1.Cursor = Cursors.WaitCursor;
}