【C#】【Form】OpenFileDialog

■ OpenFileDialog

 * ファイルを指定するダイアログ

■ 主なプロパティ

InitialDirectory

 * 初回に表示するパス
http://hiros-dot.net/VBNET2005/Control/OpenFileDialog/OpenFileDialog02.htm
https://dobon.net/vb/dotnet/form/openfiledialog.html

Multiselect

 * ファイルの複数の選択の可否

Filter

ファイルの種類の選択

Xmlファイル(*.xml)|*.xml|テキストファイル(*.txt)|*.txt|すべてのファイル(*.*)|*.*

Title

 * 題名

■ サンプル

例1:Hello World

private void button1_Click(object sender, EventArgs e)
{
    if (this.openFileDialog1.ShowDialog() == DialogResult.OK &&
        System.IO.File.Exists(this.openFileDialog1.FileName))
    {
        MessageBox.Show("ファイルあります");
    }         
}

例2:前回のパスを保持しておき、次に同じパスを表示

using System;
using System.Windows.Forms;

namespace SampleForm
{
  public partial class Form1 : Form
  {
    private String initialDirectory = null;

    public Form1()
    {
      InitializeComponent();
    }

    private void button1_Click(object sender, EventArgs e)
    {
      if (this.initialDirectory != null)
      {
        this.openFileDialog1.InitialDirectory = this.initialDirectory;
      }

      var result = this.openFileDialog1.ShowDialog();
      if (result == DialogResult.OK && System.IO.File.Exists(this.openFileDialog1.FileName))
      {
        // パスの扱い
        // https://dobon.net/vb/dotnet/file/pathclass.html
        this.initialDirectory = System.IO.Path.GetDirectoryName(this.openFileDialog1.FileName);

        this.textBox1.Text = this.openFileDialog1.FileName;
      }
    }
  }
}