我的UserControl类似于ListView。我想从ListView创建事件加工删除项。
我这样做。但我不知道该怎么做。
public partial class ImagesSetEditor : UserControl
{
public delegate void ImageRemovedEventHandler(object sender, ImagesSetEditor e);
public event ImageRemovedEventHandler ImageRemovedEvent;
答案 0 :(得分: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
非常重要,因为如果事件没有订阅者,它会抛出异常。