-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 に答える