ここでは、下記ダイアログのようにフィルターを使ってファイル(拡張子)の表示を制限する方法を記載します。
ファイル指定(フィルター)
選択できるファイルを「Excelに限定したい」「テキストファイルに限定したい」という場合、~.Filterを用います。複数ある場合、初期表示を指定するには~.FilterIndex = 1 ~を用います。
▽指定するファイルが1種類の場合、"表示用の文言 | 表示する内容" と記述します
OFD.Filter = "Text Files (*.txt)|*.txt";
▽指定するファイルが1種類で複数拡張子がある場合、セミコロン(;)で区切ります
OFD.Filter = "Excel File(*.xls;*.xlsx)|*.xls;*.xlsx";
▽指定するファイルが2種類以上の場合、パイプ(|)を使って記述します。
初期値をExcel Fileにしたい場合はFilterIndex(初期値は1)を用います。
OFD.Filter = "Text Files (*.txt)|*.txt|Excel File(*.xls;*.xlsx)|*.xls;*.xlsx";
OFD.FilterIndex = 2;
OFD.FilterIndex = 2;
一連の処理を通して記述すると下記となります。
/* インスタンスの初期化 */
OpenFileDialog OFD = new OpenFileDialog();
/* 初期フォルダ:マイドキュメント */
OFD.InitialDirectory = Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments);
/* フィルター:Text、Excel */
OFD.Filter = "Text Files (*.txt)|*.txt|Excel File(*.xls;*.xlsx)|*.xls;*.xlsx";
/* フィルター初期値:Excel */
OFD.FilterIndex = 2;
/* ダイアログを表示し「開く」場合 */
if (OFD.ShowDialog() == DialogResult.OK)
{
/* ファイル名を表示する */
MessageBox.Show(OFD.FileName);
}
OpenFileDialog OFD = new OpenFileDialog();
/* 初期フォルダ:マイドキュメント */
OFD.InitialDirectory = Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments);
/* フィルター:Text、Excel */
OFD.Filter = "Text Files (*.txt)|*.txt|Excel File(*.xls;*.xlsx)|*.xls;*.xlsx";
/* フィルター初期値:Excel */
OFD.FilterIndex = 2;
/* ダイアログを表示し「開く」場合 */
if (OFD.ShowDialog() == DialogResult.OK)
{
/* ファイル名を表示する */
MessageBox.Show(OFD.FileName);
}