Eigene EventArgs  
Frank Dzaebel, erstellt am: 16.07.2006, zuletzt geändert:  16.07.2006
Kategorie: Implementation, .NET-Version: 2.0, [Download]

Beispiel für die Verwendung von EventArgs-Eigenschaften wie "Cancel" in eigenen Klassen.
Form1.cs:
using System;
using System.ComponentModel;
using System.Windows.Forms;

namespace CancelEvtArgs
{
  public partial class Form1 : Form
  {
    public Form1() {InitializeComponent();}

    private void Form1_Load(object sender,EventArgs e)
    {
      MyClass mc = new MyClass();
      mc.Berechnet += new DelBerechnet(mc_Berechnet);
      // -1, wenn Cancel==true, ansonsten 42
      MessageBox.Show(mc.Summe(13, 29).ToString());
    }

    void mc_Berechnet(object sender,CancelEventArgs e)
    {
      e.Cancel = true; // hier zum Test auskommentieren
    }
  }
}

MyClass.cs:
using System.ComponentModel;

namespace CancelEvtArgs
{
  class MyClass
  {
    public event DelBerechnet Berechnet;
    public int Summe(int a, int b)
    {
      CancelEventArgs e = new CancelEventArgs();
      Berechnet(this,e); 
      if (e.Cancel) return -1;
      return a + b;
    }
  }
  public delegate void DelBerechnet(object sender,CancelEventArgs e);  
}