J#(Java)「ファイルを開く」ダイアログを表示する

スポンサーリンク

CommonDialog である「ファイルを開く」ダイアログを表示するには、System.Windows.Forms.OpenFileDialog クラスの ShowDialog メソッドを使用します。ShowDialog メソッドは、どのボタンを選択したかを戻り値にて取得可能です。

以下の例では、オプションを担うプロパティが列挙されていますが、必要ないものは削ってください。

サンプルコード

以下にサンプルコードを示します。

J# 全般
    // OpenFileDialog の新しいインスタンスを生成する (デザイナから追加している場合は必要ない)
    OpenFileDialog openFileDialog1 = new OpenFileDialog();

    // ダイアログのタイトルを設定する
    openFileDialog1.set_Title("ダイアログのタイトルをココに書く");

    // 初期表示するディレクトリを設定する
    openFileDialog1.set_InitialDirectory("C:\\");

    // 初期表示するファイル名を設定する
    openFileDialog1.set_FileName("初期表示するファイル名をココに書く");

    // ファイルのフィルタを設定する
    openFileDialog1.set_Filter("テキスト ファイル|*.txt;*.log|すべてのファイル|*.*");

    // ファイルの種類 の初期設定を 2 番目に設定する (初期値 1)
    openFileDialog1.set_FilterIndex(2);

    // ダイアログボックスを閉じる前に現在のディレクトリを復元する (初期値 false)
    openFileDialog1.set_RestoreDirectory(true);

    // 複数のファイルを選択可能にする (初期値 false)
    openFileDialog1.set_Multiselect(true);

    // [ヘルプ] ボタンを表示する (初期値 false)
    openFileDialog1.set_ShowHelp(true);

    // [読み取り専用] チェックボックスを表示する (初期値 false)
    openFileDialog1.set_ShowReadOnly(true);

    // [読み取り専用] チェックボックスをオンにする (初期値 false)
    openFileDialog1.set_ReadOnlyChecked(true);

    // 存在しないファイルを指定した場合は警告を表示する (初期値 true)
    //openFileDialog1.set_CheckFileExists(true);

    // 存在しないパスを指定した場合は警告を表示する (初期値 true)
    //openFileDialog1.set_CheckPathExists(true);

    // 拡張子を指定しない場合は自動的に拡張子を付加する (初期値 true)
    //openFileDialog1.set_AddExtension(true);

    // 有効な Win32 ファイル名だけを受け入れるようにする (初期値 true)
    //openFileDialog1.set_ValidateNames(true);

    // ダイアログを表示し、戻り値が [OK] の場合は、選択したファイルを表示する
    if (openFileDialog1.ShowDialog() == DialogResult.OK) {
        MessageBox.Show(openFileDialog1.get_FileName());

        // Multiselect が true の場合はこのように列挙する
        //String[] nFileNames = openFileDialog1.get_FileNames();
        //for (int i = 0; i <= nFileNames.length - 1; i++) {
        //    MessageBox.Show(nFileNames[i]);
        //}
    }

    // 不要になった時点で破棄する (正しくは オブジェクトの破棄を保証する を参照)
    openFileDialog1.Dispose();

関連するリファレンス

準備中です。

スポンサーリンク