У меня есть панель с изображением в качестве фона.Я добавил две панели (с прозрачным фоном) к этой панели.Я отвечаю на событие onPaint, чтобы нарисовать на них вещи.
рисуется только панель в позиции 0 элементов управления.
есть идеи почему?
РЕДАКТИРОВАТЬ:Я могу заставить отображаться вторую дочернюю панель, переопределив событие onPaint содержащей ее панели, но первая дочерняя панель рисует дважды.Есть ли способ избежать этого?
из панели, содержащей другие
private void InitializeComponent()
{
this.SuspendLayout();
//
// VisualizationContainer
//
this.AutoSize = true;
this.AutoSizeMode = System.Windows.Forms.AutoSizeMode.GrowAndShrink;
this.Dock = System.Windows.Forms.DockStyle.Fill;
this.Paint += new System.Windows.Forms.PaintEventHandler(this.onPaint);
this.MouseClick += new System.Windows.Forms.MouseEventHandler(this.onMouseClick);
this.Resize += new System.EventHandler(this.onResize);
this.ResumeLayout(false);
}
и код из содержащей панели onPaint
private void onPaint(object sender, PaintEventArgs e)
{
InvokePaintBackground(this, e);
foreach (SubPanel sub in subPanels)
{
sub.onPaint(this, e);
}
}