onPaint vs form1_paint
本文关键字:paint form1 vs onPaint | 更新日期: 2023-09-27 18:29:31
我在表单上绘制所有的东西。所以我根本不需要任何控件。目前我有一个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
}
以下哪种方法更好/应该使用?
区别几乎没有。主要区别在于,如果为同一类型创建另一个形状,则另一个表单将与第一个表单类似地绘制。对于OnPaint()方法来说,这并不是一个巨大的区别,但对于其他函数,如单击等,可以注意到您需要一个Paint事件。
这方面的一个明显例子是按钮或其他控件。每个按钮都有它的功能。如果你有一个OnMouseClick()方法,所有按钮都会执行相同的操作,但使用Paint事件,你可以自定义每个按钮的操作。OnPaint()方法,这对明星和避免事件都有好处。