0

作为一个 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”

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

4

1 回答 1

1

您的问题来自您已经声明了自己的委托类型这一事实。您可以简单地使用:

this.Paint += new PaintEventHandler(draw_red_rectangle);

或者

this.Paint += draw_red_rectangle;
于 2013-08-03T19:55:45.977 回答