set {
if (value != appearance) {
appearance = value;
- if (AppearanceChanged != null) {
- AppearanceChanged(this, EventArgs.Empty);
- }
+ OnAppearanceChanged (EventArgs.Empty);
Redraw();
}
}
}
protected virtual void OnAppearanceChanged(EventArgs e) {
- if (AppearanceChanged != null) {
- AppearanceChanged(this, e);
- }
+ EventHandler eh = (EventHandler)(Events [AppearanceChangedEvent]);
+ if (eh != null)
+ eh (this, e);
}
protected virtual void OnCheckedChanged(EventArgs e) {
- if (CheckedChanged != null) {
- CheckedChanged(this, e);
- }
+ EventHandler eh = (EventHandler)(Events [CheckedChangedEvent]);
+ if (eh != null)
+ eh (this, e);
}
protected virtual void OnCheckStateChanged(EventArgs e) {
- if (CheckStateChanged != null) {
- CheckStateChanged(this, e);
- }
+ EventHandler eh = (EventHandler)(Events [CheckStateChangedEvent]);
+ if (eh != null)
+ eh (this, e);
}
protected override void OnClick(EventArgs e) {
#endregion // Protected Instance Methods
#region Events
- public event EventHandler AppearanceChanged;
- public event EventHandler CheckedChanged;
- public event EventHandler CheckStateChanged;
+ static object AppearanceChangedEvent = new object ();
+ static object CheckedChangedEvent = new object ();
+ static object CheckStateChangedEvent = new object ();
+
+ public event EventHandler AppearanceChanged {
+ add { Events.AddHandler (AppearanceChangedEvent, value); }
+ remove { Events.RemoveHandler (AppearanceChangedEvent, value); }
+ }
+
+ public event EventHandler CheckedChanged {
+ add { Events.AddHandler (CheckedChangedEvent, value); }
+ remove { Events.RemoveHandler (CheckedChangedEvent, value); }
+ }
+
+ public event EventHandler CheckStateChanged {
+ add { Events.AddHandler (CheckStateChangedEvent, value); }
+ remove { Events.RemoveHandler (CheckStateChangedEvent, value); }
+ }
#endregion // Events
#region Events
+ // XXX have a look at this and determine if it
+ // manipulates base.DoubleClick, and see if
+ // HaveDoubleClick can just call OnDoubleClick.
[Browsable(false)]
[EditorBrowsable (EditorBrowsableState.Never)]
- public event EventHandler DoubleClick;
+ public new event EventHandler DoubleClick;
#endregion // Events
}
}