Алекс, вот очень простой пример для начала. Чтобы проверить код, просто добавьте элемент управления панели в форму и создайте для него обработчик события рисования. (Двойной щелчок на панели в конструкторе должен сделать это по умолчанию.) Затем замените код обработчика на следующий код.
Код рисует пять полос произвольной длины по всей панели, а ширина и высота стержня связаны с шириной и высотой панели. Код произвольный, но это хороший и простой способ представить возможности рисования .Net.
void Panel1Paint(object sender, PaintEventArgs e)
{
Graphics g = e.Graphics;
int objCount = 5;
for (int n=0; n<objCount; n++)
{
g.FillRectangle(Brushes.AliceBlue, 0, n*(panel1.Height/objCount),
panel1.Width/(n+1), panel1.Height/objCount);
g.DrawRectangle(new Pen(Color.Black), 0, n*(panel1.Height/objCount),
panel1.Width/(n+1), panel1.Height/objCount);
g.DrawString(n.ToString(), new Font("Arial", 10f), Brushes.Black,
2, 2+n*(panel1.Height/objCount));
}
}