在 Windows 表单程序中,我可以捕获什么事件以在选项卡控件的图片框上绘制?

In a Windows Forms program what event can I capture to paint on a picturebox in a tab control?

我有一个包含选项卡控件的 Windows 表单程序。有问题的选项卡包含一个用户控件,该控件又包含一个图片框。当我 select 选项卡在 运行 时我无法弄清楚哪个事件会让我在图片框中绘制。我已经尝试了我能找到的所有事件,我可以单步执行它们并看到它绘制了我想要的东西,但是当我从调试器单击 'Continue' 到 运行 时,图片框会清除。

我最后放了一个 'refresh' 按钮来在加载完成后绘制我想要的东西,但我确定我遗漏了一些东西。

我错过了什么?

您应该使用传递给事件处理程序的图形对象。像这样:

public void UserControl_Paint(object sender, PaintEventArgs e)
{  
    e.Graphics.Clear(Color.White);
    e.Graphics.DrawArc(Pens.Blue, 50, 50, 14, 14, 0, 360);
}

另外,您可能想要处理图形对象。不要这样做。永远不要处理不是您创建的对象。