Listing 1
// Defining the LabelChange event
1 public class LabelChangeEventArgs : EventArgs
2 {
3 public LabelChangeEventArgs(E_PROPERTY_CHANGED changed,
4 object newValue)
5 {
6 this.ChangedProperty = changed;
7 this.NewValue = newValue;
8 }
9 public readonly E_PROPERTY_CHANGED ChangedProperty;
10 public readonly object NewValue;
11 }
12
13 public delegate void LabelChangeEventHandler(object sender,
14 LabelChangeEventArgs args);
15
16 public event LabelChangeEventHandler LabelChange;
17
18 protected virtual void OnChange(E_PROPERTY_CHANGED prop,
19 object val)
20 {
21 if (LabelChange != null)
22 {
23 LabelChange(this, new LabelChangeEventArgs(prop, val));
24 }
25 }