public virtual void RequestClose()
 {
     CloseRequested.SafeInvoke(this, EventArgs.Empty);
 }