我在表单上绘制所有内容。所以我根本不需要任何控制。
目前我有一个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
}
这些方法中哪一种更好/我应该使用?
答案 0 :(得分:0)
区别几乎没有。主要区别在于,如果您为同一类型创建另一个表单,则另一个表单将像第一个表单一样进行Paint。对于OnPaint()方法,并没有太大的区别,但是对于其他功能(如单击等),可以注意到您将需要一个Paint事件。
一个明确的例子是一个按钮或另一个控件。每个按钮都有其功能。如果您具有OnMouseClick()方法,则所有Button都将执行相同的操作,但是使用Paint事件,您可以自定义每个Button动作。 OnPaint()方法非常适合使用stardands并避免发生事件。