「ファイルを開く」ダイアログボックスを表示する 您所在的位置:网站首页 defaultext 「ファイルを開く」ダイアログボックスを表示する

「ファイルを開く」ダイアログボックスを表示する

2024-04-27 02:03| 来源: 网络整理| 查看: 265

「ファイルを開く」ダイアログボックスを表示する

OpenFileDialogクラスを使うことにより、「ファイルを開く」ダイアログボックスを表示させることができます。

OpenFileDialogクラスの簡単な使い方を以下に示します。(ここでは説明のために、ShowDialogメソッドを呼び出す前にいろいろなプロパティを設定していますが、デフォルトでよい場合は必要ありません。)

VB.NETコードを隠すコードを選択 'OpenFileDialogクラスのインスタンスを作成 Dim ofd As New OpenFileDialog() 'はじめのファイル名を指定する 'はじめに「ファイル名」で表示される文字列を指定する ofd.FileName = "default.html" 'はじめに表示されるフォルダを指定する '指定しない(空の文字列)の時は、現在のディレクトリが表示される ofd.InitialDirectory = "C:\" '[ファイルの種類]に表示される選択肢を指定する '指定しないとすべてのファイルが表示される ofd.Filter = "HTMLファイル(*.html;*.htm)|*.html;*.htm|すべてのファイル(*.*)|*.*" '[ファイルの種類]ではじめに選択されるものを指定する '2番目の「すべてのファイル」が選択されているようにする ofd.FilterIndex = 2 'タイトルを設定する ofd.Title = "開くファイルを選択してください" 'ダイアログボックスを閉じる前に現在のディレクトリを復元するようにする ofd.RestoreDirectory = True '存在しないファイルの名前が指定されたとき警告を表示する 'デフォルトでTrueなので指定する必要はない ofd.CheckFileExists = True '存在しないパスが指定されたとき警告を表示する 'デフォルトでTrueなので指定する必要はない ofd.CheckPathExists = True 'ダイアログを表示する If ofd.ShowDialog() = DialogResult.OK Then 'OKボタンがクリックされたとき、選択されたファイル名を表示する Console.WriteLine(ofd.FileName) End If C#コードを隠すコードを選択 //OpenFileDialogクラスのインスタンスを作成 OpenFileDialog ofd = new OpenFileDialog(); //はじめのファイル名を指定する //はじめに「ファイル名」で表示される文字列を指定する ofd.FileName = "default.html"; //はじめに表示されるフォルダを指定する //指定しない(空の文字列)の時は、現在のディレクトリが表示される ofd.InitialDirectory = @"C:\"; //[ファイルの種類]に表示される選択肢を指定する //指定しないとすべてのファイルが表示される ofd.Filter = "HTMLファイル(*.html;*.htm)|*.html;*.htm|すべてのファイル(*.*)|*.*"; //[ファイルの種類]ではじめに選択されるものを指定する //2番目の「すべてのファイル」が選択されているようにする ofd.FilterIndex = 2; //タイトルを設定する ofd.Title = "開くファイルを選択してください"; //ダイアログボックスを閉じる前に現在のディレクトリを復元するようにする ofd.RestoreDirectory = true; //存在しないファイルの名前が指定されたとき警告を表示する //デフォルトでTrueなので指定する必要はない ofd.CheckFileExists = true; //存在しないパスが指定されたとき警告を表示する //デフォルトでTrueなので指定する必要はない ofd.CheckPathExists = true; //ダイアログを表示する if (ofd.ShowDialog() == DialogResult.OK) { //OKボタンがクリックされたとき、選択されたファイル名を表示する Console.WriteLine(ofd.FileName); }

補足:InitialDirectoryプロパティには、「ドキュメント」や「ピクチャ」などのフォルダを指定する機会が多いと思います。このような特殊なフォルダのパスを取得する方法は、「特殊ディレクトリのパスを取得する」で説明しています。

複数のファイルを選択可能にする

複数のファイルを選択できるようにするには次のようにMultiselectプロパティをTrueにします。

VB.NETコードを隠すコードを選択 'OpenFileDialogクラスのインスタンスを作成 Dim ofd As New OpenFileDialog() '複数のファイルを選択できるようにする ofd.Multiselect = True 'ダイアログを表示する If ofd.ShowDialog() = DialogResult.OK Then 'OKボタンがクリックされたとき、選択されたファイル名をすべて表示する Dim fn As String For Each fn In ofd.FileNames Console.WriteLine(fn) Next End If C#コードを隠すコードを選択 //OpenFileDialogクラスのインスタンスを作成 OpenFileDialog ofd = new OpenFileDialog(); //複数のファイルを選択できるようにする ofd.Multiselect = true; //ダイアログを表示する if (ofd.ShowDialog() == DialogResult.OK) { //OKボタンがクリックされたとき、選択されたファイル名をすべて表示する foreach (string fn in ofd.FileNames) { Console.WriteLine(fn); } } 選択されたファイルのStreamを取得する

OpenFileDialogクラスでは選択されたファイルのパスだけでなく、そのファイルのStreamも簡単に取得することができます。以下にその例を示します。

VB.NETコードを隠すコードを選択 'OpenFileDialogクラスのインスタンスを作成 Dim ofd As New OpenFileDialog() 'ダイアログを表示する If ofd.ShowDialog() = DialogResult.OK Then 'OKボタンがクリックされたとき、選択されたファイルを読み取り専用で開く Dim stream As System.IO.Stream stream = ofd.OpenFile() If Not (stream Is Nothing) Then '内容を読み込み、表示する Dim sr As New System.IO.StreamReader(stream) Console.WriteLine(sr.ReadToEnd()) '閉じる sr.Close() stream.Close() End If End If C#コードを隠すコードを選択 //OpenFileDialogクラスのインスタンスを作成 OpenFileDialog ofd = new OpenFileDialog(); //ダイアログを表示する if (ofd.ShowDialog() == DialogResult.OK) { //OKボタンがクリックされたとき、選択されたファイルを読み取り専用で開く System.IO.Stream stream; stream = ofd.OpenFile(); if (stream != null) { //内容を読み込み、表示する System.IO.StreamReader sr = new System.IO.StreamReader(stream); Console.WriteLine(sr.ReadToEnd()); //閉じる sr.Close(); stream.Close(); } }

注意:この記事では、基本的な事柄の説明が省略されているかもしれません。初心者の方は、特に以下の点にご注意ください。

このサイトで紹介されているコードの多くは、例外処理が省略されています。例外処理については、こちらをご覧ください。Windows Vista以降でUACが有効になっていると、ファイルへの書き込みに失敗する可能性があります。詳しくは、こちらをご覧ください。.NET Tipsをご利用いただく際は、注意事項をお守りください。


【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有