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)*.TXTImage Files (*.BMP;*.JPG;*.GIF)*.BMP;*.JPG;*.GIFAll 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 ; } HierarchySystem.Object System.MarshalByRefObject System.ComponentModel.Component(System.ComponentModel.IComponen, System.IDisposable) CommonDialog FileDialog SubclassesOpenFileDialog , SaveFileDialog |