<?xml version="1.0" encoding="utf-8"?>
<Type Name="FileDialog" FullName="System.Windows.Forms.FileDialog">
  <TypeSignature Language="C#" Value="public abstract class FileDialog : System.Windows.Forms.CommonDialog" />
  <AssemblyInfo>
    <AssemblyName>System.Windows.Forms</AssemblyName>
    <AssemblyVersion>1.0.5000.0</AssemblyVersion>
    <AssemblyVersion>2.0.0.0</AssemblyVersion>
  </AssemblyInfo>
  <Base>
    <BaseTypeName>System.Windows.Forms.CommonDialog</BaseTypeName>
  </Base>
  <Interfaces />
  <Attributes>
    <Attribute>
      <AttributeName>System.ComponentModel.DefaultEvent("FileOk")</AttributeName>
    </Attribute>
    <Attribute>
      <AttributeName>System.ComponentModel.DefaultProperty("FileName")</AttributeName>
    </Attribute>
  </Attributes>
  <Docs>
    <remarks>
      <attribution license="cc4" from="Microsoft" modified="false" />
      <para>
        <see cref="T:System.Windows.Forms.FileDialog" /> is an abstract class that contains common behavior for the <see cref="T:System.Windows.Forms.OpenFileDialog" /> and <see cref="T:System.Windows.Forms.SaveFileDialog" /> classes. It is not intended to be used directly but contains common behavior for those two classes. You cannot create an instance of <see cref="T:System.Windows.Forms.FileDialog" />. Although the class is declared public, you cannot inherit from it, as it contains internal abstract methods. To create a dialog box to select or save a file, use <see cref="T:System.Windows.Forms.OpenFileDialog" /> or <see cref="T:System.Windows.Forms.SaveFileDialog" />.</para>
      <para>
        <see cref="T:System.Windows.Forms.FileDialog" /> is a modal dialog box; therefore, when shown, it blocks the rest of the application until the user has chosen a file. When a dialog box is displayed modally, no input (keyboard or mouse click) can occur except to objects on the dialog box. The program must hide or close the dialog box (usually in response to some user action) before input to the calling program can occur.</para>
      <block subset="none" type="note">
        <para>When you use classes derived from <see cref="T:System.Windows.Forms.FileDialog" />, such as <see cref="T:System.Windows.Forms.OpenFileDialog" /> and <see cref="T:System.Windows.Forms.SaveFileDialog" />, avoid using string literals containing absolute paths. Instead, dynamically obtain the path using one or more of the techniques described in the following table.</para>
      </block>
      <para>If you want to enable users to select a folder instead of a file, use the <see cref="T:System.Windows.Forms.FolderBrowserDialog" />.</para>
      <para>Depending upon the type of application, how data associated with the application is stored, and the reason for accessing the file system, there are many possible ways in which you can create a directory path. The following table shows the techniques for creating paths dynamically.</para>
      <list type="table">
        <listheader>
          <item>
            <term>
              <para>Path or program category</para>
            </term>
            <description>
              <para>Class and members to use</para>
            </description>
          </item>
        </listheader>
        <item>
          <term>
            <para>Standard Windows paths, such as Program Files, MyDocuments, the Desktop and so on</para>
          </term>
          <description>
            <para>The <see cref="T:System.Environment" /> class is the most complete source for these, either through its static methods, such as <see cref="P:System.Environment.SystemDirectory" />, or through the <see cref="M:System.Environment.GetFolderPath(System.Environment.SpecialFolder)" /> method, using one of the <see cref="T:System.Environment.SpecialFolder" /> enumerated values.</para>
          </description>
        </item>
        <item>
          <term>
            <para>Paths related to the current application</para>
          </term>
          <description>
            <para>The <see cref="T:System.Windows.Forms.Application" /> class has static members to obtain certain paths, such as <see cref="P:System.Windows.Forms.Application.StartupPath" />, <see cref="P:System.Windows.Forms.Application.ExecutablePath" />, <see cref="P:System.Windows.Forms.Application.LocalUserAppDataPath" />, and <see cref="P:System.Windows.Forms.Application.CommonAppDataPath" />. </para>
            <para>The <see cref="M:System.IO.Path.GetTempPath" /> method of the <see cref="T:System.IO.Path" /> returns the path of the temporary folder.</para>
            <para>The <see cref="M:System.IO.Directory.GetCurrentDirectory" /> method of the <see cref="T:System.IO.Directory" /> class returns the application's current executing directory.</para>
            <para>The <see cref="P:System.IO.DriveInfo.RootDirectory" /> property of the <see cref="T:System.IO.DriveInfo" /> class represents the specified drive's root directory.</para>
          </description>
        </item>
        <item>
          <term>
            <para>Paths stored as application settings</para>
          </term>
          <description>
            <para>Access the corresponding applications settings property of the wrapper class derived from <see cref="T:System.Configuration.ApplicationSettingsBase" />. For more information, see <format type="text/html"><a href="64090a34-8556-4904-8ea0-20efe9f8c886">Application Settings for Windows Forms</a></format>.</para>
          </description>
        </item>
        <item>
          <term>
            <para>Registry storage</para>
          </term>
          <description>
            <para>Some applications store directory information in the registry. The <see cref="T:System.Windows.Forms.Application" /> class has the <see cref="P:System.Windows.Forms.Application.CommonAppDataPath" /> and <see cref="P:System.Windows.Forms.Application.LocalUserAppDataPath" /> properties that resolve to a <see cref="T:Microsoft.Win32.RegistryKey" /> value.</para>
          </description>
        </item>
        <item>
          <term>
            <para>ClickOnce applications</para>
          </term>
          <description>
            <para>For ClickOnce applications, use <see cref="T:System.Windows.Forms.Application" /> class members such as <see cref="P:System.Windows.Forms.Application.UserAppDataPath" />, which will return a pointer to the ClickOnce data directory. For more information, see <format type="text/html"><a href="be5cbe12-6cb6-49c9-aa59-a1624e1eef3d">Accessing Local and Remote Data in ClickOnce Applications</a></format>.</para>
          </description>
        </item>
        <item>
          <term>
            <para>International applications</para>
          </term>
          <description>
            <para>For international applications, retrieve the relative path portion from a string resource in your application by using the <see cref="T:System.Resources.ResourceReader" /> class. For more information about globalization and localization, see the topic <format type="text/html"><a href="9a59696b-d89b-45bd-946d-c75da4732d02">Encoding and Localization</a></format>.</para>
          </description>
        </item>
      </list>
      <para>Notice that a full path may be built up using one or more of the described techniques. For example, the <see cref="M:System.Environment.GetFolderPath(System.Environment.SpecialFolder)" /> method might be used to obtain the path to the MyDocuments folder, then an application setting may be used to add a relative subdirectory portion.</para>
      <para>The <see cref="T:System.IO.Path" /> class contains static members to assist in manipulating absolute and relative path strings, whereas the <see cref="T:System.IO.File" /> and <see cref="T:System.IO.Directory" /> classes have static members that actually manipulate files and directories, respectively.</para>
      <block subset="none" type="note">
        <para>If the user of your application changes the folder in the <see cref="T:System.Windows.Forms.FileDialog" />, then the current working directory for your application is set to the location specified in the <see cref="T:System.Windows.Forms.FileDialog" />. To prevent this, set the <see cref="P:System.Windows.Forms.FileDialog.RestoreDirectory" /> property to true. </para>
      </block>
    </remarks>
    <summary>
      <attribution license="cc4" from="Microsoft" modified="false" />
      <para>Displays a dialog box from which the user can select a file.</para>
    </summary>
  </Docs>
  <Members>
    <Member MemberName="AddExtension">
      <MemberSignature Language="C#" Value="public bool AddExtension { set; get; }" />
      <MemberType>Property</MemberType>
      <Attributes>
        <Attribute>
          <AttributeName>System.ComponentModel.DefaultValue(true)</AttributeName>
        </Attribute>
      </Attributes>
      <ReturnValue>
        <ReturnType>System.Boolean</ReturnType>
      </ReturnValue>
      <Docs>
        <value>To be added.</value>
        <remarks>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>The extension added to a file name depends on the currently selected file filter and the value of the <see cref="P:System.Windows.Forms.FileDialog.CheckFileExists" /> property.</para>
          <para>If the <see cref="P:System.Windows.Forms.FileDialog.CheckFileExists" /> property is true, the dialog box adds the first extension from the current file filter that matches an existing file. If no files match the current file filter, the dialog box adds the extension specified in the <see cref="P:System.Windows.Forms.FileDialog.DefaultExt" /> property.</para>
          <para>If the <see cref="P:System.Windows.Forms.FileDialog.CheckFileExists" /> property is false, the dialog box adds the first valid file name extension from the current file filter. If the current file filter contains no valid file name extensions, the dialog box adds the extension specified in the <see cref="P:System.Windows.Forms.FileDialog.DefaultExt" /> property.</para>
        </remarks>
        <summary>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>Gets or sets a value indicating whether the dialog box automatically adds an extension to a file name if the user omits the extension.</para>
        </summary>
      </Docs>
      <AssemblyInfo>
        <AssemblyVersion>1.0.5000.0</AssemblyVersion>
        <AssemblyVersion>2.0.0.0</AssemblyVersion>
      </AssemblyInfo>
    </Member>
    <Member MemberName="AutoUpgradeEnabled">
      <MemberSignature Language="C#" Value="public bool AutoUpgradeEnabled { set; get; }" />
      <MemberType>Property</MemberType>
      <AssemblyInfo>
        <AssemblyVersion>2.0.0.0</AssemblyVersion>
      </AssemblyInfo>
      <Attributes>
        <Attribute>
          <AttributeName>System.ComponentModel.DefaultValue(true)</AttributeName>
        </Attribute>
      </Attributes>
      <ReturnValue>
        <ReturnType>System.Boolean</ReturnType>
      </ReturnValue>
      <Docs>
        <value>To be added.</value>
        <remarks>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>If this property is false, the <see cref="T:System.Windows.Forms.FileDialog" /> class will have a winxp-style appearance and behavior on wiprlhext.</para>
          <para>On winxp, this property does not have any effect.</para>
        </remarks>
        <summary>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>Gets or sets a value indicating whether this <see cref="T:System.Windows.Forms.FileDialog" /> instance should automatically upgrade appearance and behavior when running on wiprlhext.</para>
        </summary>
      </Docs>
    </Member>
    <Member MemberName="CheckFileExists">
      <MemberSignature Language="C#" Value="public virtual bool CheckFileExists { set; get; }" />
      <MemberType>Property</MemberType>
      <Attributes>
        <Attribute>
          <AttributeName>System.ComponentModel.DefaultValue(false)</AttributeName>
        </Attribute>
      </Attributes>
      <ReturnValue>
        <ReturnType>System.Boolean</ReturnType>
      </ReturnValue>
      <Docs>
        <value>To be added.</value>
        <remarks>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>The default value is true for an inheriting <see cref="T:System.Windows.Forms.OpenFileDialog" /> and false for an inheriting <see cref="T:System.Windows.Forms.SaveFileDialog" />.</para>
        </remarks>
        <summary>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>Gets or sets a value indicating whether the dialog box displays a warning if the user specifies a file name that does not exist.</para>
        </summary>
      </Docs>
      <AssemblyInfo>
        <AssemblyVersion>1.0.5000.0</AssemblyVersion>
        <AssemblyVersion>2.0.0.0</AssemblyVersion>
      </AssemblyInfo>
    </Member>
    <Member MemberName="CheckPathExists">
      <MemberSignature Language="C#" Value="public bool CheckPathExists { set; get; }" />
      <MemberType>Property</MemberType>
      <Attributes>
        <Attribute>
          <AttributeName>System.ComponentModel.DefaultValue(true)</AttributeName>
        </Attribute>
      </Attributes>
      <ReturnValue>
        <ReturnType>System.Boolean</ReturnType>
      </ReturnValue>
      <Docs>
        <value>To be added.</value>
        <remarks>To be added.</remarks>
        <summary>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>Gets or sets a value indicating whether the dialog box displays a warning if the user specifies a path that does not exist.</para>
        </summary>
      </Docs>
      <AssemblyInfo>
        <AssemblyVersion>1.0.5000.0</AssemblyVersion>
        <AssemblyVersion>2.0.0.0</AssemblyVersion>
      </AssemblyInfo>
    </Member>
    <Member MemberName="CustomPlaces">
      <MemberSignature Language="C#" Value="public System.Windows.Forms.FileDialogCustomPlacesCollection CustomPlaces { get; }" />
      <MemberType>Property</MemberType>
      <AssemblyInfo>
        <AssemblyVersion>2.0.0.0</AssemblyVersion>
      </AssemblyInfo>
      <Attributes>
        <Attribute>
          <AttributeName>System.ComponentModel.DesignerSerializationVisibility(System.ComponentModel.DesignerSerializationVisibility.Hidden)</AttributeName>
        </Attribute>
        <Attribute>
          <AttributeName>System.ComponentModel.Browsable(false)</AttributeName>
        </Attribute>
      </Attributes>
      <ReturnValue>
        <ReturnType>System.Windows.Forms.FileDialogCustomPlacesCollection</ReturnType>
      </ReturnValue>
      <Docs>
        <value>To be added.</value>
        <remarks>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>On winxp, this property does not have any effect.</para>
        </remarks>
        <summary>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>Gets the custom places collection for this <see cref="T:System.Windows.Forms.FileDialog" /> instance.</para>
        </summary>
      </Docs>
    </Member>
    <Member MemberName="DefaultExt">
      <MemberSignature Language="C#" Value="public string DefaultExt { set; get; }" />
      <MemberType>Property</MemberType>
      <Attributes>
        <Attribute>
          <AttributeName>System.ComponentModel.DefaultValue("")</AttributeName>
        </Attribute>
      </Attributes>
      <ReturnValue>
        <ReturnType>System.String</ReturnType>
      </ReturnValue>
      <Docs>
        <value>To be added.</value>
        <remarks>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>When the user of your application specifies a file name without an extension, the <see cref="T:System.Windows.Forms.FileDialog" /> appends an extension to the file name. The extension that is used is determined by the <see cref="P:System.Windows.Forms.FileDialog.Filter" /> and <see cref="P:System.Windows.Forms.FileDialog.DefaultExt" /> properties. If a filter is selected in the <see cref="T:System.Windows.Forms.FileDialog" /> and the filter specifies an extension, then that extension is used. If the filter selected uses a wildcard in place of the extension, then the extension specified in the <see cref="P:System.Windows.Forms.FileDialog.DefaultExt" /> property is used.</para>
        </remarks>
        <summary>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>Gets or sets the default file name extension.</para>
        </summary>
      </Docs>
      <AssemblyInfo>
        <AssemblyVersion>1.0.5000.0</AssemblyVersion>
        <AssemblyVersion>2.0.0.0</AssemblyVersion>
      </AssemblyInfo>
    </Member>
    <Member MemberName="DereferenceLinks">
      <MemberSignature Language="C#" Value="public bool DereferenceLinks { set; get; }" />
      <MemberType>Property</MemberType>
      <Attributes>
        <Attribute>
          <AttributeName>System.ComponentModel.DefaultValue(true)</AttributeName>
        </Attribute>
      </Attributes>
      <ReturnValue>
        <ReturnType>System.Boolean</ReturnType>
      </ReturnValue>
      <Docs>
        <value>To be added.</value>
        <remarks>To be added.</remarks>
        <summary>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>Gets or sets a value indicating whether the dialog box returns the location of the file referenced by the shortcut or whether it returns the location of the shortcut (.lnk).</para>
        </summary>
      </Docs>
      <AssemblyInfo>
        <AssemblyVersion>1.0.5000.0</AssemblyVersion>
        <AssemblyVersion>2.0.0.0</AssemblyVersion>
      </AssemblyInfo>
    </Member>
    <Member MemberName="EventFileOk">
      <MemberSignature Language="C#" Value="protected static readonly object EventFileOk;" />
      <MemberType>Field</MemberType>
      <ReturnValue>
        <ReturnType>System.Object</ReturnType>
      </ReturnValue>
      <Docs>
        <remarks>To be added.</remarks>
        <summary>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>Owns the <see cref="E:System.Windows.Forms.FileDialog.FileOk" /> event.</para>
        </summary>
      </Docs>
      <AssemblyInfo>
        <AssemblyVersion>1.0.5000.0</AssemblyVersion>
        <AssemblyVersion>2.0.0.0</AssemblyVersion>
      </AssemblyInfo>
    </Member>
    <Member MemberName="FileName">
      <MemberSignature Language="C#" Value="public string FileName { set; get; }" />
      <MemberType>Property</MemberType>
      <Attributes>
        <Attribute>
          <AttributeName>System.ComponentModel.DefaultValue("")</AttributeName>
        </Attribute>
      </Attributes>
      <ReturnValue>
        <ReturnType>System.String</ReturnType>
      </ReturnValue>
      <Docs>
        <value>To be added.</value>
        <remarks>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>The file name includes both the file path and the extension. If no files are selected, this method returns an empty string ("").</para>
          <para>When used from the <see cref="T:System.Windows.Forms.SaveFileDialog" /> class, this property represents the file being saved; when used from the <see cref="T:System.Windows.Forms.OpenFileDialog" /> class, it represents the file being opened.</para>
          <para>This property can only be the name of one selected file. If you want to return an array containing the names of all selected files in a multiple-selection dialog box, use <see cref="P:System.Windows.Forms.FileDialog.FileNames" />.</para>
        </remarks>
        <summary>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>Gets or sets a string containing the file name selected in the file dialog box.</para>
        </summary>
      </Docs>
      <AssemblyInfo>
        <AssemblyVersion>1.0.5000.0</AssemblyVersion>
        <AssemblyVersion>2.0.0.0</AssemblyVersion>
      </AssemblyInfo>
    </Member>
    <Member MemberName="FileNames">
      <MemberSignature Language="C#" Value="public string[] FileNames { get; }" />
      <MemberType>Property</MemberType>
      <Attributes>
        <Attribute>
          <AttributeName>System.ComponentModel.DesignerSerializationVisibility(System.ComponentModel.DesignerSerializationVisibility.Hidden)</AttributeName>
        </Attribute>
        <Attribute>
          <AttributeName>System.ComponentModel.Browsable(false)</AttributeName>
        </Attribute>
      </Attributes>
      <ReturnValue>
        <ReturnType>System.String[]</ReturnType>
      </ReturnValue>
      <Docs>
        <value>To be added.</value>
        <remarks>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>Each file name includes both the file path and the extension. If no files are selected, this method returns an empty array.</para>
        </remarks>
        <summary>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>Gets the file names of all selected files in the dialog box.</para>
        </summary>
      </Docs>
      <AssemblyInfo>
        <AssemblyVersion>1.0.5000.0</AssemblyVersion>
        <AssemblyVersion>2.0.0.0</AssemblyVersion>
      </AssemblyInfo>
    </Member>
    <Member MemberName="FileOk">
      <MemberSignature Language="C#" Value="public event System.ComponentModel.CancelEventHandler FileOk;" />
      <MemberType>Event</MemberType>
      <ReturnValue>
        <ReturnType>System.ComponentModel.CancelEventHandler</ReturnType>
      </ReturnValue>
      <Docs>
        <remarks>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>For information about handling events, see <format type="text/html"><a href="01E4F1BC-E55E-413F-98C7-6588493E5F67">Consuming Events</a></format>.</para>
        </remarks>
        <summary>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>Occurs when the user clicks on the <ui>Open</ui> or <ui>Save</ui> button on a file dialog box.</para>
        </summary>
      </Docs>
      <AssemblyInfo>
        <AssemblyVersion>1.0.5000.0</AssemblyVersion>
        <AssemblyVersion>2.0.0.0</AssemblyVersion>
      </AssemblyInfo>
    </Member>
    <Member MemberName="Filter">
      <MemberSignature Language="C#" Value="public string Filter { set; get; }" />
      <MemberType>Property</MemberType>
      <Attributes>
        <Attribute>
          <AttributeName>System.ComponentModel.Localizable(true)</AttributeName>
        </Attribute>
        <Attribute>
          <AttributeName>System.ComponentModel.DefaultValue("")</AttributeName>
        </Attribute>
      </Attributes>
      <ReturnValue>
        <ReturnType>System.String</ReturnType>
      </ReturnValue>
      <Docs>
        <value>To be added.</value>
        <remarks>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>For each filtering option, the filter string contains a description of the filter, followed by the vertical bar (|) and the filter pattern. The strings for different filtering options are separated by the vertical bar.</para>
          <para>The following is an example of a filter string: </para>
          <para>Text files (*.txt)|*.txt|All files (*.*)|*.* </para>
          <para>You can add several filter patterns to a filter by separating the file types with semicolons, for example: </para>
          <para>Image Files(*.BMP;*.JPG;*.GIF)|*.BMP;*.JPG;*.GIF|All files (*.*)|*.* </para>
          <para>Use the <see cref="P:System.Windows.Forms.FileDialog.FilterIndex" /> property to set which filtering option is shown first to the user.</para>
        </remarks>
        <summary>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>Gets or sets the current file name filter string, which determines the choices that appear in the "Save as file type" or "Files of type" box in the dialog box.</para>
        </summary>
      </Docs>
      <AssemblyInfo>
        <AssemblyVersion>1.0.5000.0</AssemblyVersion>
        <AssemblyVersion>2.0.0.0</AssemblyVersion>
      </AssemblyInfo>
    </Member>
    <Member MemberName="FilterIndex">
      <MemberSignature Language="C#" Value="public int FilterIndex { set; get; }" />
      <MemberType>Property</MemberType>
      <Attributes>
        <Attribute>
          <AttributeName>System.ComponentModel.DefaultValue(1)</AttributeName>
        </Attribute>
      </Attributes>
      <ReturnValue>
        <ReturnType>System.Int32</ReturnType>
      </ReturnValue>
      <Docs>
        <value>To be added.</value>
        <remarks>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>Use the <see cref="P:System.Windows.Forms.FileDialog.FilterIndex" /> property to set which filtering option is shown first to the user. You can also use the value of <see cref="P:System.Windows.Forms.FileDialog.FilterIndex" /> after showing the file dialog to perform special file operations depending upon the filter chosen.</para>
          <block subset="none" type="note">
            <para>The index value of the first filter entry is 1.</para>
          </block>
        </remarks>
        <summary>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>Gets or sets the index of the filter currently selected in the file dialog box.</para>
        </summary>
      </Docs>
      <AssemblyInfo>
        <AssemblyVersion>1.0.5000.0</AssemblyVersion>
        <AssemblyVersion>2.0.0.0</AssemblyVersion>
      </AssemblyInfo>
    </Member>
    <Member MemberName="HookProc">
      <MemberSignature Language="C#" Value="protected override IntPtr HookProc (IntPtr hWnd, int msg, IntPtr wparam, IntPtr lparam);" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.IntPtr</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="hWnd" Type="System.IntPtr" />
        <Parameter Name="msg" Type="System.Int32" />
        <Parameter Name="wparam" Type="System.IntPtr" />
        <Parameter Name="lparam" Type="System.IntPtr" />
      </Parameters>
      <Docs>
        <remarks>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>A hook procedure allows the user to connect or insert other routines into a routine or application for the purpose of debugging or enhancing functionality.</para>
          <para>By default, the hook procedure centers the dialog box on the screen in response to a WM_INITDIALOG message.</para>
        </remarks>
        <summary>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>Defines the common dialog box hook procedure that is overridden to add specific functionality to the file dialog box.</para>
        </summary>
        <returns>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>Returns zero if the default dialog box procedure processes the message; returns a nonzero value if the default dialog box procedure ignores the message.</para>
        </returns>
        <param name="hWnd">
          <attribution license="cc4" from="Microsoft" modified="false" />The handle to the dialog box window. </param>
        <param name="msg">
          <attribution license="cc4" from="Microsoft" modified="false" />The message received by the dialog box. </param>
        <param name="wparam">
          <attribution license="cc4" from="Microsoft" modified="false" />Additional information about the message. </param>
        <param name="lparam">
          <attribution license="cc4" from="Microsoft" modified="false" />Additional information about the message. </param>
      </Docs>
      <AssemblyInfo>
        <AssemblyVersion>1.0.5000.0</AssemblyVersion>
        <AssemblyVersion>2.0.0.0</AssemblyVersion>
      </AssemblyInfo>
    </Member>
    <Member MemberName="InitialDirectory">
      <MemberSignature Language="C#" Value="public string InitialDirectory { set; get; }" />
      <MemberType>Property</MemberType>
      <Attributes>
        <Attribute>
          <AttributeName>System.ComponentModel.DefaultValue("")</AttributeName>
        </Attribute>
      </Attributes>
      <ReturnValue>
        <ReturnType>System.String</ReturnType>
      </ReturnValue>
      <Docs>
        <value>To be added.</value>
        <remarks>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>The <see cref="P:System.Windows.Forms.FileDialog.InitialDirectory" /> property is typically set using one of the following sources:</para>
          <list type="bullet">
            <item>
              <para>A path that was previously used in the program, perhaps retained from the last directory or file operation.</para>
            </item>
            <item>
              <para>A path read from a persistent source, such as an application setting, a <see cref="T:Microsoft.Win32.Registry" /> or a string resource in the application.</para>
            </item>
            <item>
              <para>Standard Windows system and user paths, such as Program Files, MyDocuments, MyMusic, and so on (which you can obtain using the <see cref="M:System.Environment.GetFolderPath(System.Environment.SpecialFolder)" />  method)</para>
            </item>
            <item>
              <para>A path related to the current application, such as its startup directory (which you can obtain using properties on the <see cref="T:System.Windows.Forms.Application" /> object). </para>
            </item>
          </list>
          <para>For more information about creating dynamic paths, see the <see cref="T:System.Windows.Forms.FileDialog" /> class overview.</para>
          <para>On wiprlhext, if <see cref="P:System.Windows.Forms.FileDialog.InitialDirectory" /> is set to a full file name instead of just a directory path, the initial directory will default either to the application path, or to the directory from which the user last selected a file. </para>
        </remarks>
        <summary>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>Gets or sets the initial directory displayed by the file dialog box.</para>
        </summary>
      </Docs>
      <AssemblyInfo>
        <AssemblyVersion>1.0.5000.0</AssemblyVersion>
        <AssemblyVersion>2.0.0.0</AssemblyVersion>
      </AssemblyInfo>
    </Member>
    <Member MemberName="Instance">
      <MemberSignature Language="C#" Value="protected virtual IntPtr Instance { get; }" />
      <MemberType>Property</MemberType>
      <ReturnValue>
        <ReturnType>System.IntPtr</ReturnType>
      </ReturnValue>
      <Docs>
        <value>To be added.</value>
        <remarks>To be added.</remarks>
        <summary>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>Gets the Win32 instance handle for the application.</para>
        </summary>
      </Docs>
      <AssemblyInfo>
        <AssemblyVersion>1.0.5000.0</AssemblyVersion>
        <AssemblyVersion>2.0.0.0</AssemblyVersion>
      </AssemblyInfo>
    </Member>
    <Member MemberName="OnFileOk">
      <MemberSignature Language="C#" Value="protected void OnFileOk (System.ComponentModel.CancelEventArgs e);" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.Void</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="e" Type="System.ComponentModel.CancelEventArgs" />
      </Parameters>
      <Docs>
        <remarks>To be added.</remarks>
        <summary>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>Raises the <see cref="E:System.Windows.Forms.FileDialog.FileOk" /> event.</para>
        </summary>
        <param name="e">
          <attribution license="cc4" from="Microsoft" modified="false" />A <see cref="T:System.ComponentModel.CancelEventArgs" /> that contains the event data. </param>
      </Docs>
      <AssemblyInfo>
        <AssemblyVersion>1.0.5000.0</AssemblyVersion>
        <AssemblyVersion>2.0.0.0</AssemblyVersion>
      </AssemblyInfo>
    </Member>
    <Member MemberName="Options">
      <MemberSignature Language="C#" Value="protected int Options { get; }" />
      <MemberType>Property</MemberType>
      <ReturnValue>
        <ReturnType>System.Int32</ReturnType>
      </ReturnValue>
      <Docs>
        <value>To be added.</value>
        <remarks>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>The <see cref="P:System.Windows.Forms.FileDialog.Options" /> property corresponds to the flags used to initialize a file dialog box using Win32. Use the properties of the <see cref="T:System.Windows.Forms.FileDialog" /> class to get and set the options.</para>
        </remarks>
        <summary>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>Gets values to initialize the <see cref="T:System.Windows.Forms.FileDialog" />.</para>
        </summary>
      </Docs>
      <AssemblyInfo>
        <AssemblyVersion>1.0.5000.0</AssemblyVersion>
        <AssemblyVersion>2.0.0.0</AssemblyVersion>
      </AssemblyInfo>
    </Member>
    <Member MemberName="Reset">
      <MemberSignature Language="C#" Value="public override void Reset ();" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.Void</ReturnType>
      </ReturnValue>
      <Parameters />
      <Docs>
        <remarks>To be added.</remarks>
        <summary>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>Resets all properties to their default values.</para>
        </summary>
      </Docs>
      <AssemblyInfo>
        <AssemblyVersion>1.0.5000.0</AssemblyVersion>
        <AssemblyVersion>2.0.0.0</AssemblyVersion>
      </AssemblyInfo>
    </Member>
    <Member MemberName="RestoreDirectory">
      <MemberSignature Language="C#" Value="public bool RestoreDirectory { set; get; }" />
      <MemberType>Property</MemberType>
      <Attributes>
        <Attribute>
          <AttributeName>System.ComponentModel.DefaultValue(false)</AttributeName>
        </Attribute>
      </Attributes>
      <ReturnValue>
        <ReturnType>System.Boolean</ReturnType>
      </ReturnValue>
      <Docs>
        <value>To be added.</value>
        <remarks>To be added.</remarks>
        <summary>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>Gets or sets a value indicating whether the dialog box restores the current directory before closing.</para>
        </summary>
      </Docs>
      <AssemblyInfo>
        <AssemblyVersion>1.0.5000.0</AssemblyVersion>
        <AssemblyVersion>2.0.0.0</AssemblyVersion>
      </AssemblyInfo>
    </Member>
    <Member MemberName="RunDialog">
      <MemberSignature Language="C#" Value="protected override bool RunDialog (IntPtr hWndOwner);" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.Boolean</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="hWndOwner" Type="System.IntPtr" />
      </Parameters>
      <Docs>
        <remarks>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>This method provides an implementation of <see cref="M:System.Windows.Forms.CommonDialog.RunDialog(System.IntPtr)" />, and is invoked when the user of a file dialog invokes <see cref="M:System.Windows.Forms.CommonDialog.ShowDialog" />.</para>
          <para>In the derived classes <see cref="T:System.Windows.Forms.OpenFileDialog" /> and <see cref="T:System.Windows.Forms.SaveFileDialog" /> an invalid file name <see cref="T:System.Exception" /> can be raised.</para>
        </remarks>
        <summary>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>Specifies a common dialog box.</para>
        </summary>
        <returns>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>true if the file could be opened; otherwise, false.</para>
        </returns>
        <param name="hWndOwner">
          <attribution license="cc4" from="Microsoft" modified="false" />A value that represents the window handle of the owner window for the common dialog box. </param>
      </Docs>
      <AssemblyInfo>
        <AssemblyVersion>1.0.5000.0</AssemblyVersion>
        <AssemblyVersion>2.0.0.0</AssemblyVersion>
      </AssemblyInfo>
    </Member>
    <Member MemberName="ShowHelp">
      <MemberSignature Language="C#" Value="public bool ShowHelp { set; get; }" />
      <MemberType>Property</MemberType>
      <Attributes>
        <Attribute>
          <AttributeName>System.ComponentModel.DefaultValue(false)</AttributeName>
        </Attribute>
      </Attributes>
      <ReturnValue>
        <ReturnType>System.Boolean</ReturnType>
      </ReturnValue>
      <Docs>
        <value>To be added.</value>
        <remarks>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>A <see cref="E:System.Windows.Forms.Control.HelpRequested" /> event is raised when the user clicks the <ui>Help</ui> button.</para>
        </remarks>
        <summary>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>Gets or sets a value indicating whether the <ui>Help</ui> button is displayed in the file dialog box.</para>
        </summary>
      </Docs>
      <AssemblyInfo>
        <AssemblyVersion>1.0.5000.0</AssemblyVersion>
        <AssemblyVersion>2.0.0.0</AssemblyVersion>
      </AssemblyInfo>
    </Member>
    <Member MemberName="SupportMultiDottedExtensions">
      <MemberSignature Language="C#" Value="public bool SupportMultiDottedExtensions { set; get; }" />
      <MemberType>Property</MemberType>
      <AssemblyInfo>
        <AssemblyVersion>2.0.0.0</AssemblyVersion>
      </AssemblyInfo>
      <Attributes>
        <Attribute>
          <AttributeName>System.ComponentModel.DefaultValue(false)</AttributeName>
        </Attribute>
      </Attributes>
      <ReturnValue>
        <ReturnType>System.Boolean</ReturnType>
      </ReturnValue>
      <Docs>
        <value>To be added.</value>
        <remarks>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>Sometimes users must open and save files that use multiple file name extensions. For example, the application manifest files used by the ndptecclick deployment technology end in the complex file name extension ".exe.manifest". Setting this property to true enables you to set the <see cref="P:System.Windows.Forms.FileDialog.Filter" /> property to a multi-dotted extension.</para>
          <para>If <see cref="P:System.Windows.Forms.FileDialog.SupportMultiDottedExtensions" /> is false, and you assign a multi-dotted extension to <see cref="P:System.Windows.Forms.FileDialog.Filter" />, derived controls such as <see cref="T:System.Windows.Forms.SaveFileDialog" /> will only use the last extension in the string. For example, ".manifest" will be used instead of ".exe.manifest". </para>
        </remarks>
        <summary>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>Gets or sets whether the dialog box supports displaying and saving files that have multiple file name extensions.</para>
        </summary>
      </Docs>
    </Member>
    <Member MemberName="Title">
      <MemberSignature Language="C#" Value="public string Title { set; get; }" />
      <MemberType>Property</MemberType>
      <Attributes>
        <Attribute>
          <AttributeName>System.ComponentModel.Localizable(true)</AttributeName>
        </Attribute>
        <Attribute>
          <AttributeName>System.ComponentModel.DefaultValue("")</AttributeName>
        </Attribute>
      </Attributes>
      <ReturnValue>
        <ReturnType>System.String</ReturnType>
      </ReturnValue>
      <Docs>
        <value>To be added.</value>
        <remarks>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>The string is placed in the title bar of the dialog box. If the title is an empty string, the system uses a default title, which is either "Save As" or "Open".</para>
        </remarks>
        <summary>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>Gets or sets the file dialog box title.</para>
        </summary>
      </Docs>
      <AssemblyInfo>
        <AssemblyVersion>1.0.5000.0</AssemblyVersion>
        <AssemblyVersion>2.0.0.0</AssemblyVersion>
      </AssemblyInfo>
    </Member>
    <Member MemberName="ToString">
      <MemberSignature Language="C#" Value="public override string ToString ();" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.String</ReturnType>
      </ReturnValue>
      <Parameters />
      <Docs>
        <remarks>To be added.</remarks>
        <summary>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>Provides a string version of this object.</para>
        </summary>
        <returns>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>A string version of this object.</para>
        </returns>
      </Docs>
      <AssemblyInfo>
        <AssemblyVersion>1.0.5000.0</AssemblyVersion>
        <AssemblyVersion>2.0.0.0</AssemblyVersion>
      </AssemblyInfo>
    </Member>
    <Member MemberName="ValidateNames">
      <MemberSignature Language="C#" Value="public bool ValidateNames { set; get; }" />
      <MemberType>Property</MemberType>
      <Attributes>
        <Attribute>
          <AttributeName>System.ComponentModel.DefaultValue(true)</AttributeName>
        </Attribute>
      </Attributes>
      <ReturnValue>
        <ReturnType>System.Boolean</ReturnType>
      </ReturnValue>
      <Docs>
        <value>To be added.</value>
        <remarks>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>If the edit control contains anything but spaces when the user clicks <ui>OK</ui>, the dialog box returns the file name, whether it is valid or not. No default extension is added to the text.</para>
        </remarks>
        <summary>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>Gets or sets a value indicating whether the dialog box accepts only valid Win32 file names.</para>
        </summary>
      </Docs>
      <AssemblyInfo>
        <AssemblyVersion>1.0.5000.0</AssemblyVersion>
        <AssemblyVersion>2.0.0.0</AssemblyVersion>
      </AssemblyInfo>
    </Member>
  </Members>
</Type>