У меня есть панель с несколькими панелями внутри.Я переопределил OnPaint на главной панели следующим образом:
protected override void OnPaint(PaintEventArgs e)
{
Graphics graph = e.Graphics;
graph.Clear(Color.Black);
InvokePaintBackground(this, e);
graph.ScaleTransform(scale, scale);
foreach (childPanel child in childPanels)
{
child.onPaint(this, e);
}
graph.ResetTransform();
}
У меня проблема в том, что функция onPaint первого элемента управления (элемент управления в точке 0) вызывается дважды, поэтому я получаю две версиидочерней панели, одна с масштабированием, а другая без.Второй onPaint, похоже, вызывается самим дочерним элементом управления.
Как мне не допустить этого?