-4

我有类似于 ListView 的 UserControl。我想从 ListView 创建事件加工删除项。

我这样做。但我不知道该怎么做。

    public partial class ImagesSetEditor : UserControl
{
    public delegate void ImageRemovedEventHandler(object sender, ImagesSetEditor e);
    public event ImageRemovedEventHandler ImageRemovedEvent;
4

1 回答 1

0

您无需为符合基于事件的模式创建新委托。在您的控件中创建一个简单的事件,如下所示:

public event EventHandler ImageRemoved;

如果您需要传递任何自定义参数,请创建一个派生自这样的EventArgs类:

public class ImageRemovedEventArgs : EventArgs
{
     public int Index; //for example
}

然后这样声明事件:

public event EventHandler<ImageRemovedEventArgs> ImageRemoved;

然后,您将触发该事件:

if (ImageRemoved != null) ImageRemoved(this, new ImageRemovedEventArgs() { Index = yourValue });

检查这一点很重要ImageRemoved != null,因为如果事件没有订阅者,它将引发异常。

于 2013-08-20T11:37:42.677 回答