C#/VB.NET 「ファイルを開く」ダイアログボックスを表示する方法

どうやったら、ファイルを選択するためのダイアログボックスを立ち上げることができますか?

OpenFileDialogコンポーネントを使うことで、ファイルを選択するためのダイアログボックスを開くことができますよ。

目次

受講者数No.1!初心者からプロへ導く信頼のスクール

    短期間で習得可能!未経験から実践力を磨く充実のプログラム

    今なら無料相談でAmazonギフトカードがもらえる!

    ファイル選択ダイアログを表示する OpenFileDialogコンポーネントの使い方

     ファイルを選択する際にダイアログボックスを表示するには、OpenFileDialog コンポーネントを使用します。OpenFileDialog コンポーネントを使うことで、ファイルを選択するダイアログボックスを表示することができます。

     使用方法は以下の通りです。

    1. ツールボックスから OpenFileDialog コンポーネントをダブルクリックします。すると、コンポーネントトレイに OpenFileDialog コンポーネントが表示されます。
    2. ShowDialog メソッドを使用して、ダイアログボックスを表示します。
    ダブルクリックする
    コンポーネントトレイ

    OpenFileDialog.ShowDialog()

    // OpenFileDialogのインスタンスを生成
    OpenFileDialog dialog = new OpenFileDialog();
    
    // はじめに表示されるフォルダを指定する
    dialog.InitialDirectory = @"C:\";
    // [ファイルの種類]ではじめに選択されるものを指定する
    // 2番目の「すべてのファイル」が選択されているようにする
    dialog.FilterIndex = 2;
    // [ファイルの種類]ではじめに表示するものを指定する
    // 指定しない(空の文字列)の時は、現在のディレクトリが表示される
    dialog.Filter = "テキスト ファイル(*.txt)|*.txt|すべてのファイル(*.*)|*.*";
    // ダイアログボックスを閉じる前に現在のディレクトリを復元するようにする
    dialog.RestoreDirectory = true;
    
    // ダイアログを表示する
    if (dialog.ShowDialog() == DialogResult.OK)
    {
        // OKボタンがクリックされたとき、選択されたファイル名を表示する
        Debug.WriteLine(dialog.FileName);
    }
    ' OpenFileDialogのインスタンスを生成
    Dim dialog As New OpenFileDialog()
    
    ' はじめに表示されるフォルダを指定する
    dialog.InitialDirectory = "C:\"
    ' [ファイルの種類]ではじめに選択されるものを指定する
    ' 2番目の「すべてのファイル」が選択されているようにする
    dialog.FilterIndex = 2
    ' [ファイルの種類]ではじめに表示するものを指定する
    ' 指定しない(空の文字列)の時は、現在のディレクトリが表示される
    dialog.Filter = "テキスト ファイル(*.txt)|*.txt|すべてのファイル(*.*)|*.*"
    ' ダイアログボックスを閉じる前に現在のディレクトリを復元するようにする
    dialog.RestoreDirectory = True
    
    ' ダイアログを表示する
    If dialog.ShowDialog() = DialogResult.OK Then
        ' OKボタンがクリックされたとき、選択されたファイル名を表示する
        Debug.WriteLine(dialog.FileName)
    End If

     上記の例では、OpenFileDialogのインスタンスを生成し、各プロパティを設定しています。
    その後、ShowDialogメソッドを呼び出して、ダイアログボックスを表示しています。

    ShowDialogメソッドの戻り値が「DialogResult.OK」の場合は、選択されたファイル名を表示しています。

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

     複数のファイルを選択するためには、OpenFileDialog コンポーネントの MultiSelect プロパティを trueに設定します。この設定により、複数のファイルを選択することができるようになります。

    1. OpenFileDialog コンポーネントをフォームに追加します。
    2. MultiSelect プロパティを true に設定します。
    3. ShowDialog メソッドを使用して、ダイアログボックスを表示します。
    4. SelectedFiles プロパティから、選択したファイルのリストを取得します。

    以下は、OpenFileDialog コンポーネントを使用して、複数のファイルを選択するサンプルプログラムです。

    using System;
    using System.Windows.Forms;
    
    public class Form1 : Form
    {
        private OpenFileDialog openFileDialog1 = new OpenFileDialog();
        public Form1()
        {
            openFileDialog1.Multiselect = true;
            openFileDialog1.ShowDialog();
            string[] selectedFiles = openFileDialog1.FileNames;
            foreach(string file in selectedFiles)
            {
                Console.WriteLine(file);
            }
        }
    }
    Imports System.Windows.Forms
    
    Public Class Form1
    
        Private openFileDialog1 As New OpenFileDialog()
    
        Public Sub New()
            openFileDialog1.Multiselect = True
            openFileDialog1.ShowDialog()
            Dim selectedFiles As String() = openFileDialog1.FileNames
            For Each file As String In selectedFiles
                Console.WriteLine(file)
            Next
        End Sub
    
    End Class

     このプログラムでは、OpenFileDialog コンポーネントの MultiSelect プロパティを trueに設定し、ShowDialog メソッドを使用して、ダイアログボックスを表示します。

     選択したファイルのリストは、SelectedFiles プロパティから取得し、foreach文を使用して、選択したファイルを一つずつ表示しています。

    OpenFileDialog コンポーネントの代表的なプロパティ

    OpenFileDialog コンポーネントの代表的なプロパティを紹介します。

    プロパティ解説
    AddExteension拡張子がなく、拡張子を自動でつける場合は「true」(デフォルト)、つけない場合は「false」とすることができます。
    CheckFilterExists存在しないファイルを指定した場合の警告表示を制御します。表示する場合は「true」(デフォルト)、非表示は「false」とします。
    CheckPathExists存在しないパスを指定した場合の警告表示を制御します。表示する場合は「true」(デフォルト)、非表示は「false」とします。
    FileName選択されたファイルのパスを文字列型で取得できます。
    FileNames選択されたすべてのファイルのパスを、文字列型の配列で取得できます。
    Filter「ファイルの種類」のフィルターを指定します。
    FilterIndex「ファイルの種類」の最初に表示するフィルターを指定します。デフォルト値は「1」です。
    InitialDirectory「ファイルの場所」に表示するパスを指定します。
    Multiselect複数のファイルを選択可能にする場合は「true」、複数選択不可の場合は「false」(デフォルト)とします。
    ReadOnlyChecked「読み取り専用ファイルとして開く」にチェックマークをつける場合は「true」、つけない場合は「false」(デフォルト)とします。
    RestoreDirectoryダイアログボックスでフォルダーを変更した時、ダイアログボックスを閉じるときに元に戻す場合は「true」、戻さない場合は「false」(デフォルト)とします。
    SafeFileName選択されたファイル名(拡張子を含む)を取得できます。ただし、パスは含まれません。
    SafeFileNames選択されたすべてのファイル名(拡張子を含む)を要素とする文字列型の配列を取得できます。ただし、パスは含まれません。
    ShowHelpヘルプボタンを表示する場合は「true」、表示しない場合は「false」(デフォルト)とします。
    ShowReaderOnly「読み取り専用ファイルとして開く」チェックボックスを表示する場合は「true」、表示しない場合は「false」(デフォルト)とします。
    Titleダイアログボックスのタイトルバーに表示する文字を指定します。
    OpenFileDialog コンポーネントの代表的なプロパティ

    OpenFileDialog コンポーネントを使用する際に、一つのポイントとして、選択したファイルの拡張子や、選択できるファイルの種類を制限するために、Filter プロパティを使用することをお勧めします

    これにより、特定の拡張子のファイルだけを選択することができるようになり、使用するアプリケーションに適したファイルだけを選択することができるため、使いやすくなります。

    リスキリングでキャリアアップしてみませんか?

    リスキリング(学び直し)は、経済産業省が推奨しており、

    今だけ、最大70%のキャッシュバックを受けることができます。

    リスキリング 給付金が出るスクール紹介

    最大70%の給付金が出るおすすめのプログラミングスクール!

    国策で予算が決められているため申し込みが多い場合は早期に終了する可能性があります!

    興味のある方はすぐに確認しましょう。

    まとめ

    OpenFileDialog コンポーネントを使用したファイル選択ダイアログの表示方法について解説しました。

    • OpenFileDialog コンポーネントを使用して、ファイルを選択するダイアログボックスを表示することができます。
    • ShowDialog メソッドを使用して、ダイアログボックスを表示します。
    • MultiSelect プロパティを Trueに設定することで、複数のファイルの選択が可能になります。
    • Filterプロパティを使って拡張子やファイル種類を指定することができる。

    ファイル選択のダイアログを表示することができました!複数選択も便利そうです。

    よかったらシェアしてね!
    • URLをコピーしました!
    • URLをコピーしました!
    目次