【发布时间】:2013-09-17 06:26:46
【问题描述】:
我注意到在 C# 中我可以覆盖 Form() 父类中的方法,如下所示:
protected override void OnPaint(PaintEventArgs e)
{
}
我不明白PaintEventArgs 是如何生成的,以及它是如何/何时传递给这个函数的。我必须假设每次表单需要重新绘制时都会调用OnPaint()。
此外,当我创建按钮按下事件时,它们看起来像这样:
private void button1_Click(object sender, EventArgs e)
{
}
再一次,我不明白在激活按钮单击时如何/为什么传递这些参数。
【问题讨论】:
-
一个覆盖受保护的虚拟方法,而另一个是附加到事件的典型事件处理程序。你在 OnPaint 中被称为
PaintEventArgs的事实在我看来是实现者的纯粹懒惰/实用主义,并且不遵循任何约定。