This CommonDialog class is the abstract base for
OpenFileDialog and
SaveFileDialog objects.
The AddExtension property determines whether the
DefaultExt (file extension) is automatically added
to the end of the filename if no extension is present.
There are two properties, CheckFileExists and
CheckPathExists, which when true, cause the dialog
to test whether a path or file exists and display a warning if not.
The DereferenceLinks property tells the dialog
whether it should display shortcuts as the underlying
.lnk file (false) or link to the referenced
file.
The standard file dialogs can filter the displayed list of files. The
Filter string can be set, and the
FilterIndex determines which filter from that
string is currently selected. For some reason, no one I know can ever
remember the exact format of a filter string, so here is an example
in case you suffer from the same affliction. "Text files
(*.txt)|*.TXT|Image Files (*.BMP;*.JPG;*.GIF)|*.BMP;*.JPG;*.GIF|All
files (*.*)|*.*"
The InitialDirectory can be specified, and you can
also set a property called RestoreDirectory to
determine whether the system will reset the current directory back to
where it was initially, if the dialog is closed.
Finally, to retrieve the selected file or files, you can use the
FileName and FileNames
properties.
public abstract class FileDialog : CommonDialog {
// Protected Static Fields
protected static readonly object EventFileOk; // =System.Object
// Public Instance Properties
public bool AddExtension{set; get; }
public virtual bool CheckFileExists{set; get; }
public bool CheckPathExists{set; get; }
public string DefaultExt{set; get; }
public bool DereferenceLinks{set; get; }
public string FileName{set; get; }
public string[ ] FileNames{get; }
public string Filter{set; get; }
public int FilterIndex{set; get; }
public string InitialDirectory{set; get; }
public bool RestoreDirectory{set; get; }
public bool ShowHelp{set; get; }
public string Title{set; get; }
public bool ValidateNames{set; get; }
// Protected Instance Properties
protected virtual IntPtr Instance{get; }
protected int Options{get; }
// Public Instance Methods
public override void Reset(); // overrides CommonDialog
public override string ToString(); // overrides System.ComponentModel.Component
// Protected Instance Methods
protected override IntPtr HookProc(IntPtr hWnd, int msg, IntPtr wparam, IntPtr lparam); // overrides CommonDialog
protected void OnFileOk(System.ComponentModel.CancelEventArgs e);
protected override bool RunDialog(IntPtr hWndOwner); // overrides CommonDialog
// Events
public event CancelEventHandler FileOk;
}