FileDialog クラス
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
ユーザーがファイルを選択するダイアログ ボックスを表示します。
public ref class FileDialog abstract : System::Windows::Forms::CommonDialog
public abstract class FileDialog : System.Windows.Forms.CommonDialog
type FileDialog = class
inherit CommonDialog
Public MustInherit Class FileDialog
Inherits CommonDialog
- 継承
- 派生
例
次のコード例では、 および のFileDialog実装をOpenFileDialog使用して、プロパティの作成、設定、ダイアログ ボックスの表示を示します。 この例では、 メソッドを ShowDialog 使用してダイアログ ボックスを表示し、 を返します DialogResult。 この例では、 が配置され、名前空間が追加されたフォーム 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
注釈
FileDialogは、 クラスと SaveFileDialog クラスの一般的な動作をOpenFileDialog含む抽象クラスです。 これは直接使用することを意図したものではありませんが、これら 2 つのクラスの一般的な動作が含まれています。 の FileDialogインスタンスを作成することはできません。 クラスは public として宣言されていますが、内部抽象メソッドが含まれているので、そのクラスから継承することはできません。 ファイルを選択または保存するダイアログ ボックスを作成するには、 または を使用 OpenFileDialog します SaveFileDialog。
FileDialog はモーダル ダイアログ ボックスです。したがって、表示されると、ユーザーがファイルを選択するまで、アプリケーションの残りの部分がブロックされます。 ダイアログ ボックスがモーダルに表示されている場合、ダイアログ ボックス上のオブジェクトを除き、入力 (キーボードまたはマウス クリック) は発生しません。 プログラムは、呼び出し元プログラムへの入力を行う前に、ダイアログ ボックス (通常はユーザー操作に応じて) を非表示または閉じる必要があります。
注意事項
や SaveFileDialogなどの OpenFileDialog からFileDialog派生したクラスを使用する場合は、絶対パスを含む文字列リテラルを使用しないでください。 代わりに、次の表に示す 1 つ以上の手法を使用してパスを動的に取得します。
ユーザーがファイルではなくフォルダーを選択できるようにする場合は、 を使用します FolderBrowserDialog。
アプリケーションの種類、アプリケーションに関連付けられているデータの格納方法、およびファイル システムにアクセスする理由に応じて、ディレクトリ パスを作成できるさまざまな方法があります。 次の表に、パスを動的に作成する手法を示します。
パスまたはプログラムカテゴリ | 使用するクラスとメンバー |
---|---|
プログラム ファイル、MyDocuments、デスクトップなどの標準の Windows パス | クラスはSystem.Environment、 などのSystemDirectoryGetFolderPath静的メソッドを使用するか、 メソッドを使用して列挙値のいずれかを使用して、これらのクラスのEnvironment.SpecialFolder最も完全なソースです。 |
現在のアプリケーションに関連するパス |
Applicationクラスには、 などのLocalUserAppDataPathStartupPathExecutablePathCommonAppDataPath特定のパスを取得するための静的メンバーがあります。 の System.IO.Path メソッドはGetTempPath、一時フォルダーのパスを返します。 クラスの メソッドは GetCurrentDirectory 、 System.IO.Directory アプリケーションの現在実行中のディレクトリを返します。 クラスの プロパティは RootDirectory 、 DriveInfo 指定したドライブのルート ディレクトリを表します。 |
アプリケーション設定として格納されるパス | から ApplicationSettingsBase派生したラッパー クラスの対応するアプリケーション設定プロパティにアクセスします。 詳細については、「Windows フォームのアプリケーション設定」を参照してください。 |
レジストリ ストレージ | 一部のアプリケーションでは、レジストリにディレクトリ情報が格納されます。 Applicationクラスには、値にCommonAppDataPath解決される プロパティと LocalUserAppDataPath プロパティがありますRegistryKey。 |
ClickOnce アプリケーション | ClickOnce アプリケーションの場合は、 などのUserAppDataPathクラス メンバーを使用Applicationします。これにより、ClickOnce データ ディレクトリへのポインターが返されます。 詳細については、ローカルへのアクセスとリモート データには、ClickOnce アプリケーション を参照してください。 |
国際アプリケーション | 国際アプリケーションの場合は、 クラスを使用して、アプリケーション内の文字列リソースから相対パス部分を System.Resources.ResourceReader 取得します。 グローバリゼーションとローカライズの詳細については、グロー バリゼーションとローカライズに関するトピックを参照してください。 |
完全なパスは、説明されている手法の 1 つ以上を使用して構築される場合があることに注意してください。 たとえば、 メソッドを GetFolderPath 使用して MyDocuments フォルダーへのパスを取得し、アプリケーション設定を使用して相対サブディレクトリ部分を追加できます。
System.IO.Pathクラスには絶対パス文字列と相対パス文字列の操作に役立つ静的メンバーがSystem.IO.File含まれていますが、 クラスと System.IO.Directory クラスには、それぞれファイルとディレクトリを実際に操作する静的メンバーがあります。
重要
アプリケーションのユーザーが の FileDialogフォルダーを変更した場合、アプリケーションの現在の作業ディレクトリは、 で FileDialog指定された場所に設定されます。 これを回避するには、 プロパティを RestoreDirectory に設定します true
。
フィールド
EventFileOk |
FileOk イベントを所有しています。 |
プロパティ
AddExtension |
ユーザーが拡張子を指定しない場合、ダイアログ ボックスがファイル名に自動的に拡張子を付けるかどうかを示す値を取得または設定します。 |
AddToRecent |
ダイアログ ボックスが開いているファイルを追加するか、最近のリストに保存するかを示す値を取得または設定します。 |
AutoUpgradeEnabled |
Windows Vista で実行するときに、この FileDialog インスタンスの外観と動作を自動的にアップグレードするかどうかを示す値を取得または設定します。 |
CanRaiseEvents |
コンポーネントがイベントを発生させることがきるかどうかを示す値を取得します。 (継承元 Component) |
CheckFileExists |
存在しないファイルの名前をユーザーが指定した場合に、ダイアログ ボックスが警告を表示するかどうかを示す値を取得または設定します。 |
CheckPathExists |
存在しないパスをユーザーが指定したときに、ダイアログ ボックスに警告を表示するかどうかを示す値を取得または設定します。 |
ClientGuid |
このダイアログ状態に関連付ける GUID を取得または設定します。 通常、最後にアクセスしたフォルダーやダイアログの位置やサイズなどの状態は、実行可能ファイルの名前に基づいて保持されます。 GUID を指定することにより、アプリケーションでは、異なるバージョンのダイアログ (たとえばインポート ダイアログや [開く] ダイアログなど) に対して、同じアプリケーション内で異なる状態を保持することができます。 アプリケーションで視覚スタイルを使用していない場合や、AutoUpgradeEnabled が |
Container |
IContainer を含む Component を取得します。 (継承元 Component) |
CustomPlaces |
この FileDialog インスタンスに対するカスタム プレイスのコレクションを取得します。 |
DefaultExt |
既定のファイル名の拡張子を取得または設定します。 |
DereferenceLinks |
ダイアログ ボックスが、ショートカットで参照されたファイルの場所を返すかどうか、またはショートカットの場所 (.lnk) を返すかどうかを指定する値を取得または設定します。 |
DesignMode |
Component が現在デザイン モードかどうかを示す値を取得します。 (継承元 Component) |
Events |
Component に結び付けられているイベント ハンドラーのリストを取得します。 (継承元 Component) |
FileName |
ファイル ダイアログ ボックスで選択されたファイル名を含む文字列を取得または設定します。 |
FileNames |
ダイアログ ボックスで選択されたすべてのファイルの名前を取得します。 |
Filter |
ダイアログ ボックスの [保存先ファイルの種類] または [ファイルの種類] ボックスに表示される選択肢を決定する、現在のファイル名のフィルター文字列を取得または設定します。 |
FilterIndex |
ファイル ダイアログ ボックスで現在選択されているフィルターのインデックスを取得または設定します。 |
InitialDirectory |
ファイル ダイアログ ボックスに表示される起動ディレクトリを取得または設定します。 |
Instance |
アプリケーションの Win32 インスタンス ハンドルを取得します。 |
OkRequiresInteraction |
ユーザーがビューを移動するか、ファイル名を編集するまでダイアログ ボックスの [OK] ボタンを無効にするかどうかを示す値を取得または設定します (該当する場合)。 |
Options |
FileDialog を初期化するための値を取得します。 |
RestoreDirectory |
ダイアログ ボックスを閉じる前に、ディレクトリを以前選択されていたディレクトリに復元するかどうかを示す値を取得または設定します。 |
ShowHelp |
ファイル ダイアログ ボックスに [ヘルプ] ボタンを表示するかどうかを示す値を取得または設定します。 |
ShowHiddenFiles |
ダイアログ ボックスに非表示ファイルとシステム ファイルを表示するかどうかを示す値を取得または設定します。 |
ShowPinnedPlaces |
ビューのナビゲーション ウィンドウに既定で表示される項目を表示するかどうかを示す値を取得または設定します。 |
Site |
Component の ISite を取得または設定します。 (継承元 Component) |
SupportMultiDottedExtensions |
複数のファイル名拡張子を持つファイルの表示および保存をダイアログ ボックスがサポートするかどうかを示す値を取得または設定します。 |
Tag |
コントロールに関するデータを格納するオブジェクトを取得または設定します。 (継承元 CommonDialog) |
Title |
ファイル ダイアログ ボックスのタイトルを取得または設定します。 |
ValidateNames |
ダイアログ ボックスが有効な Win32 ファイル名だけを受け入れるかどうかを示す値を取得または設定します。 |
メソッド
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) |
ファイル ダイアログ ボックスに特定の機能を追加するためにオーバーライドされる、コモン ダイアログ ボックスのフック プロシージャを定義します。 |
InitializeLifetimeService() |
古い.
このインスタンスの有効期間ポリシーを制御する有効期間サービス オブジェクトを取得します。 (継承元 MarshalByRefObject) |
MemberwiseClone() |
現在の Object の簡易コピーを作成します。 (継承元 Object) |
MemberwiseClone(Boolean) |
現在の MarshalByRefObject オブジェクトの簡易コピーを作成します。 (継承元 MarshalByRefObject) |
OnFileOk(CancelEventArgs) |
FileOk イベントを発生させます。 |
OnHelpRequest(EventArgs) |
HelpRequest イベントを発生させます。 (継承元 CommonDialog) |
OwnerWndProc(IntPtr, Int32, IntPtr, IntPtr) |
コモン ダイアログ ボックスに特定の機能を追加するためにオーバーライドされる、オーナー ウィンドウ プロシージャを定義します。 (継承元 CommonDialog) |
Reset() |
すべてのプロパティを既定値にリセットします。 |
RunDialog(IntPtr) |
コモン ダイアログ ボックスを指定します。 |
ShowDialog() |
既定のオーナーを使用してコモン ダイアログ ボックスを実行します。 (継承元 CommonDialog) |
ShowDialog(IWin32Window) |
指定したオーナーを使用してコモン ダイアログ ボックスを実行します。 (継承元 CommonDialog) |
ToString() |
このオブジェクトの文字列形式を示します。 |
イベント
Disposed |
Dispose() メソッドの呼び出しによってコンポーネントが破棄されるときに発生します。 (継承元 Component) |
FileOk |
ファイル ダイアログ ボックスの [開く] ボタンまたは [保存] ボタンをユーザーがクリックすると発生します。 |
HelpRequest |
ユーザーがコモン ダイアログ ボックスの [?] ボタンをクリックすると発生します。 (継承元 CommonDialog) |
適用対象
こちらもご覧ください
.NET