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 執行個體控制代碼 (Instance Handle)。

(繼承來源 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)

建立包含所有相關資訊的物件,這些資訊是產生用來與遠端物件通訊的所需 Proxy。

(繼承來源 MarshalByRefObject)
Dispose()

釋放 Component 所使用的所有資源。

(繼承來源 Component)
Dispose(Boolean)

釋放 Component 所使用的 Unmanaged 資源,並選擇性地釋放 Managed 資源。

(繼承來源 Component)
Equals(Object)

判斷指定的物件是否等於目前的物件。

(繼承來源 Object)
GetHashCode()

做為預設雜湊函式。

(繼承來源 Object)
GetLifetimeService()
已淘汰.

擷取控制這個執行個體存留期 (Lifetime) 原則的目前存留期服務物件。

(繼承來源 MarshalByRefObject)
GetService(Type)

傳回表示 Component 或其 Container 所提供之服務的物件。

(繼承來源 Component)
GetType()

取得目前執行個體的 Type

(繼承來源 Object)
HookProc(IntPtr, Int32, IntPtr, IntPtr)

定義為了將特定功能加入檔案對話方塊中而覆寫的通用對話方塊攔截程序 (Hook Procedure)。

(繼承來源 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)

定義為了將特定功能加入通用對話方塊中而覆寫的主控視窗 (Owner Window) 程序。

(繼承來源 CommonDialog)
Reset()

重設所有屬性為預設值。

RunDialog(IntPtr)

指定通用對話方塊。

(繼承來源 FileDialog)
ShowDialog()

以預設的擁有人來執行通用對話方塊。

(繼承來源 CommonDialog)
ShowDialog(IWin32Window)

以指定的擁有人來執行通用對話方塊。

(繼承來源 CommonDialog)
ToString()

提供這個物件的字串版本。

(繼承來源 FileDialog)

事件

Disposed

Dispose() 方法的呼叫處置元件時,就會發生。

(繼承來源 Component)
FileOk

發生於使用者按一下 [檔案] 對話方塊上的 [開啟] 或 [儲存] 按鈕時。

(繼承來源 FileDialog)
HelpRequest

發生於使用者按一下通用對話方塊上的 [說明] 按鈕時。

(繼承來源 CommonDialog)

適用於

另請參閱