onPaint vs form1_paint

时间:2013-08-29 07:13:59

标签: c# paint onpaint

我在表单上绘制所有内容。所以我根本不需要任何控制。 目前我有一个Form1_Paint方法并在此事件方法中绘制所有内容。

private void Form1_Paint(object sender, PaintEventArgs e)
{
    // draw something
}

我也可以覆盖OnPaint方法。

protected override void OnPaint(PaintEventArgs e)
{
    base.OnPaint(e); // works also without this

    //draw something
}

这些方法中哪一种更好/我应该使用?

1 个答案:

答案 0 :(得分:0)

区别几乎没有。主要区别在于,如果您为同一类型创建另一个表单,则另一个表单将像第一个表单一样进行Paint。对于OnPaint()方法,并没有太大的区别,但是对于其他功能(如单击等),可以注意到您将需要一个Paint事件。

一个明确的例子是一个按钮或另一个控件。每个按钮都有其功能。如果您具有OnMouseClick()方法,则所有Button都将执行相同的操作,但是使用Paint事件,您可以自定义每个Button动作。 OnPaint()方法非常适合使用stardands并避免发生事件。