public HResult OnFolderChanging(IFileDialog pfd, IShellItem psiFolder)
            {
                CommonFileDialogFolderChangeEventArgs args = new CommonFileDialogFolderChangeEventArgs(
                    CommonFileDialog.GetFileNameFromShellItem(psiFolder));

                if (!firstFolderChanged)
                {
                    parent.OnFolderChanging(args);
                }

                return(args.Cancel ? HResult.False : HResult.Ok);
            }
 /// <summary>
 /// Determines if changes to a specific property are allowed.
 /// </summary>
 /// <param name="propertyName">The name of the property.</param>
 /// <param name="control">The control propertyName applies to.</param>
 /// <returns>true if the property change is allowed.</returns>
 public virtual bool IsControlPropertyChangeAllowed(string propertyName, DialogControl control)
 {
     CommonFileDialog.GenerateNotImplementedException();
     return(false);
 }
 public NativeDialogEventSink(CommonFileDialog commonDialog)
 {
     this.parent = commonDialog;
 }