OpenFileDialog 類別
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
顯示對話方塊,以提示使用者開啟檔案。 此類別無法獲得繼承。
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 已設定為 |
Container |
取得包含 IContainer 的 Component。 (繼承來源 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 | (繼承來源 Component) |
SupportMultiDottedExtensions |
取得或設定對話方塊是否支援顯示和儲存具有多個副檔名的檔案。 (繼承來源 FileDialog) |
Tag |
取得或設定包含控制項相關資料的物件。 (繼承來源 CommonDialog) |
Title |
取得或設定檔案對話方塊的標題。 (繼承來源 FileDialog) |
ValidateNames |
取得或設定值,指出對話方塊是否只接受有效的 Win32 檔名。 (繼承來源 FileDialog) |
方法
事件
Disposed |
當 Dispose() 方法的呼叫處置元件時,就會發生。 (繼承來源 Component) |
FileOk |
發生於使用者按一下 [檔案] 對話方塊上的 [開啟] 或 [儲存] 按鈕時。 (繼承來源 FileDialog) |
HelpRequest |
發生於使用者按一下通用對話方塊上的 [說明] 按鈕時。 (繼承來源 CommonDialog) |