public static void Main()
{
Form1 form = new Form1();
form.Text = "Two Paint Handlers";
form.BackColor = Color.White;
form.Paint += new PaintEventHandler(PaintHandler1);
form.Paint += new PaintEventHandler(PaintHandler2);
Application.Run(form);
}
static void PaintHandler1(Object objSender, PaintEventHandler pea)
{
Form1 form = (Form1)objSender;
Graphics grfx = pea.Graphics;
grfx.DrawString("First Paint Event Handler", form.Font, Brushes.Black, 0, 0);
{
Form1 form = new Form1();
form.Text = "Two Paint Handlers";
form.BackColor = Color.White;
form.Paint += new PaintEventHandler(PaintHandler1);
form.Paint += new PaintEventHandler(PaintHandler2);
Application.Run(form);
}
static void PaintHandler1(Object objSender, PaintEventHandler pea)
{
Form1 form = (Form1)objSender;
Graphics grfx = pea.Graphics;
grfx.DrawString("First Paint Event Handler", form.Font, Brushes.Black, 0, 0);
}
写代码的时候敲出了如下的错误,error CS0123: No overload for 'PaintHandler1' matches delegate 'System.Windows.Forms.PaintEven
发现具体原因是因为滥用代码补全,把PaintEventArgs 敲成了 PaintEventHandler
正确写法:
static void PaintHandler1(Object objSender, PaintEventArgs pea)