我正在将所有内容绘制在表格上。所以我根本不需要任何控制。
目前我有一个 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() 方法对于标准对象和避免事件很有用。
关于c# - onPaint 与 form1_paint,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18504483/