OpenFileDialog 类

定义

显示一个标准对话框,提示用户打开文件。 此类不能被继承。

public ref class OpenFileDialog sealed : System::Windows::Forms::FileDialog
public sealed class OpenFileDialog : System.Windows.Forms.FileDialog
type OpenFileDialog = class
    inherit FileDialog
Public NotInheritable Class OpenFileDialog
Inherits FileDialog
继承

示例

下面的代码示例创建一个、设置多个 OpenFileDialog属性来定义文件扩展名筛选器和对话行为,并使用该方法显示对话框 CommonDialog.ShowDialog 。 该示例需要一个窗体,其中包含一个 Button 放置在它的窗体,以及对添加到它的命名空间的 System.IO 引用。

private:
   void button1_Click( Object^ /*sender*/, System::EventArgs^ /*e*/ )
   {
      Stream^ myStream;
      OpenFileDialog^ openFileDialog1 = gcnew OpenFileDialog;

      openFileDialog1->InitialDirectory = "c:\\";
      openFileDialog1->Filter = "txt files (*.txt)|*.txt|All files (*.*)|*.*";
      openFileDialog1->FilterIndex = 2;
      openFileDialog1->RestoreDirectory = true;

      if ( openFileDialog1->ShowDialog() == System::Windows::Forms::DialogResult::OK )
      {
         if ( (myStream = openFileDialog1->OpenFile()) != nullptr )
         {
            // Insert code to read the stream here.
            myStream->Close();
         }
      }
   }
var fileContent = string.Empty;
var filePath = string.Empty;

using (OpenFileDialog openFileDialog = new OpenFileDialog())
{
    openFileDialog.InitialDirectory = "c:\\";
    openFileDialog.Filter = "txt files (*.txt)|*.txt|All files (*.*)|*.*";
    openFileDialog.FilterIndex = 2;
    openFileDialog.RestoreDirectory = true;

    if (openFileDialog.ShowDialog() == DialogResult.OK)
    {
        //Get the path of specified file
        filePath = openFileDialog.FileName;

        //Read the contents of the file into a stream
        var fileStream = openFileDialog.OpenFile();

        using (StreamReader reader = new StreamReader(fileStream))
        {
            fileContent = reader.ReadToEnd();
        }
    }
}

MessageBox.Show(fileContent, "File Content at path: " + filePath, MessageBoxButtons.OK);
Private Sub button1_Click(ByVal sender As Object, ByVal e As System.EventArgs)
    Dim myStream As Stream = Nothing
    Dim openFileDialog1 As New OpenFileDialog()

    openFileDialog1.InitialDirectory = "c:\"
    openFileDialog1.Filter = "txt files (*.txt)|*.txt|All files (*.*)|*.*"
    openFileDialog1.FilterIndex = 2
    openFileDialog1.RestoreDirectory = True

    If openFileDialog1.ShowDialog() = System.Windows.Forms.DialogResult.OK Then
        Try
            myStream = openFileDialog1.OpenFile()
            If (myStream IsNot Nothing) Then
                ' Insert code to read the stream here.
            End If
        Catch Ex As Exception
            MessageBox.Show("Cannot read file from disk. Original error: " & Ex.Message)
        Finally
            ' Check this again, since we need to make sure we didn't throw an exception on open.
            If (myStream IsNot Nothing) Then
                myStream.Close()
            End If
        End Try
    End If
End Sub

注解

此类允许检查文件是否存在并打开该文件。 该 ShowReadOnly 属性确定对话框中是否显示只读复选框。 该 ReadOnlyChecked 属性指示是否选中只读复选框。

此类的大部分核心功能都位于该类中 FileDialog

在从右到左的操作系统上,将包含窗体 RightToLeft 的属性设置为 RightToLeft.Yes 本地化对话框的 文件名打开取消 按钮。 如果未将属性设置为 RightToLeft.Yes,则改用英语文本。

如果希望为用户提供选择文件夹而不是文件的功能,请改用 FolderBrowserDialog

构造函数

OpenFileDialog()

初始化 OpenFileDialog 类的实例。

属性

AddExtension

获取或设置一个值,该值指示如果用户省略扩展名,对话框是否自动在文件名中添加扩展名。

(继承自 FileDialog)
AddToRecent (继承自 FileDialog)
AutoUpgradeEnabled

获取或设置一个值,该值指示此FileDialog实例在 Windows Vista 上运行时是否应自动升级外观和行为。

(继承自 FileDialog)
CanRaiseEvents

获取一个指示组件是否可以引发事件的值。

(继承自 Component)
CheckFileExists

获取或设置一个值,该值指示如果用户指定不存在的文件名,对话框是否显示警告。

CheckPathExists

获取或设置一个值,该值指示如果用户指定不存在的路径,对话框是否显示警告。

(继承自 FileDialog)
ClientGuid

获取或设置要与此对话框状态关联的 GUID。 通常情况下,状态(如最后访问的文件夹)和对话框的位置及大小将根据可执行文件的名称持久保存。 通过指定 GUID,一个应用程序对于同一应用程序中不同版本的对话框(例如,导入的对话框和打开的对话框),可以具有不同的持久状态。

如果应用程序未使用视觉样式或如果 AutoUpgradeEnabled 设置为 false,则此功能不可用。

(继承自 FileDialog)
Container

获取包含 IContainerComponent

(继承自 Component)
CustomPlaces

获取此 FileDialog 实例的自定义空间的集合。

(继承自 FileDialog)
DefaultExt

获取或设置默认文件扩展名。

(继承自 FileDialog)
DereferenceLinks

获取或设置一个值,该值指示对话框是否返回快捷方式引用的文件的位置,或者是否返回快捷方式 (.lnk) 的位置。

(继承自 FileDialog)
DesignMode

获取一个值,用以指示 Component 当前是否处于设计模式。

(继承自 Component)
Events

获取附加到此 Component 的事件处理程序的列表。

(继承自 Component)
FileName

获取或设置一个包含在文件对话框中选定的文件名的字符串。

(继承自 FileDialog)
FileNames

获取对话框中所有选定文件的文件名。

(继承自 FileDialog)
Filter

获取或设置当前文件名筛选器字符串,该字符串决定对话框的“另存为文件类型”或“文件类型”框中出现的选择内容。

(继承自 FileDialog)
FilterIndex

获取或设置文件对话框中当前选定筛选器的索引。

(继承自 FileDialog)
InitialDirectory

获取或设置文件对话框显示的初始目录。

(继承自 FileDialog)
Instance

获取应用程序的 Win32 实例句柄。

(继承自 FileDialog)
Multiselect

获取或设置一个值,该值指示对话框是否允许选择多个文件。

OkRequiresInteraction (继承自 FileDialog)
Options

获取用来初始化 FileDialog 的值。

(继承自 FileDialog)
ReadOnlyChecked

获取或设置一个值,该值指示是否选定只读复选框。

RestoreDirectory

获取或设置一个值,该值指示该对话框在关闭前是否将目录还原为之前选定的目录。

(继承自 FileDialog)
SafeFileName

获取对话框中所选文件的文件名和扩展名。 文件名不包含路径。

SafeFileNames

获取对话框中所有选定文件的文件名和扩展名的数组。 文件名不包含路径。

SelectReadOnly
ShowHelp

获取或设置一个值,该值指示文件对话框中是否显示“帮助”按钮。

(继承自 FileDialog)
ShowHiddenFiles (继承自 FileDialog)
ShowPinnedPlaces (继承自 FileDialog)
ShowPreview
ShowReadOnly

获取或设置一个值,该值指示对话框是否包含只读复选框。

Site

获取或设置 ComponentISite

(继承自 Component)
SupportMultiDottedExtensions

获取或设置对话框是否支持显示和保存具有多个文件扩展名的文件。

(继承自 FileDialog)
Tag

获取或设置一个对象,该对象包含控件的数据。

(继承自 CommonDialog)
Title

获取或设置文件对话框标题。

(继承自 FileDialog)
ValidateNames

获取或设置一个值,该值指示对话框是否只接受有效的 Win32 文件名。

(继承自 FileDialog)

方法

CreateObjRef(Type)

创建一个对象,该对象包含生成用于与远程对象进行通信的代理所需的全部相关信息。

(继承自 MarshalByRefObject)
Dispose()

释放由 Component 使用的所有资源。

(继承自 Component)
Dispose(Boolean)

释放由 Component 占用的非托管资源,还可以另外再释放托管资源。

(继承自 Component)
Equals(Object)

确定指定对象是否等于当前对象。

(继承自 Object)
GetHashCode()

作为默认哈希函数。

(继承自 Object)
GetLifetimeService()
已过时。

检索控制此实例的生存期策略的当前生存期服务对象。

(继承自 MarshalByRefObject)
GetService(Type)

返回一个对象,该对象表示由 Component 或它的 Container 提供的服务。

(继承自 Component)
GetType()

获取当前实例的 Type

(继承自 Object)
HookProc(IntPtr, Int32, IntPtr, IntPtr)

定义要重写的通用对话框挂钩过程,以便向文件对话框添加特定功能。

(继承自 FileDialog)
InitializeLifetimeService()
已过时。

获取生存期服务对象来控制此实例的生存期策略。

(继承自 MarshalByRefObject)
MemberwiseClone()

创建当前 Object 的浅表副本。

(继承自 Object)
MemberwiseClone(Boolean)

创建当前 MarshalByRefObject 对象的浅表副本。

(继承自 MarshalByRefObject)
OnFileOk(CancelEventArgs)

引发 FileOk 事件。

(继承自 FileDialog)
OnHelpRequest(EventArgs)

引发 HelpRequest 事件。

(继承自 CommonDialog)
OpenFile()

打开用户选定的具有只读权限的文件。 该文件由 FileName 属性指定。

OwnerWndProc(IntPtr, Int32, IntPtr, IntPtr)

定义要重写的所有者窗口过程,以便向通用对话框添加特定功能。

(继承自 CommonDialog)
Reset()

将所有属性重新设置为其默认值。

RunDialog(IntPtr)

指定通用对话框。

(继承自 FileDialog)
ShowDialog()

用默认的所有者运行通用对话框。

(继承自 CommonDialog)
ShowDialog(IWin32Window)

运行具有指定所有者的通用对话框。

(继承自 CommonDialog)
ToString()

提供此对象的字符串版本。

(继承自 FileDialog)

事件

Disposed

在通过调用 Dispose() 方法释放组件时发生。

(继承自 Component)
FileOk

当用户单击文件对话框中的“打开”或 “保存”按钮时发生。

(继承自 FileDialog)
HelpRequest

当用户单击通用对话框中的“帮助”按钮时发生。

(继承自 CommonDialog)

适用于

另请参阅