(a)
[Category("Property Changed")]
[Description("Fired when title is changed.")]
public event EventHandler TitleChanged;
(b)
protected virtual void OnTitleChanged(EventArgs e)
{
if (TitleChanged != null) TitleChanged(this, e);
}
(c)
public string Title
{
get {...}
set
{
if (_title != value)
{
_title = value;
OnTitleChanged(EventArgs.Empty);
}
}
}