如何将自定义EventHandler添加到PaintEventHandler?

时间:2013-08-03 19:50:29

标签: c# event-handling paint

作为一个C#练习,我想添加一个自定义的PaintEventHandler,它可以在绘制时向表单绘制一个矩形。我有以下内容:

1)代表

public delegate void MyPaintFormEventHandler(object sender, PaintEventArgs e);

2)绘制矩形时要执行的方法。

private void draw_red_rectangle(object sender, PaintEventArgs e)
{ /* Implementation here */ }

3)订阅Form的Paint事件。

this.Paint += new MyPaintFormEventHandler(draw_red_rectangle);

但是,由于以下原因,这段代码不能编译:

  

无法将类型'use_graphics.MyPaintFormEventHandler'隐式转换为'System.Windows.Forms.PaintEventHandler'

任何人都可以通过查明我做错了什么以及如何解决这个问题来帮助我吗?

1 个答案:

答案 0 :(得分:1)

您的问题来自于您已声明自己的委托类型。你可以简单地使用:

this.Paint += new PaintEventHandler(draw_red_rectangle);

this.Paint += draw_red_rectangle;