internal bool RaiseFolderChangingEvent(ShellFolder folder)
        {
            Contract.Requires <ArgumentNullException>(folder != null);

            var args = new FileDialogFolderChangeEventArgs(folder);

            OnFolderChanging(args);
            return(!args.Cancel);
        }
 protected virtual void OnFolderChanging(FileDialogFolderChangeEventArgs e)
 {
     this.FolderChanging?.Invoke(this, e);
 }