C#
これを応用すると下記のような感じにもできる。
出典: C#でOpenFileDialogが継承できない?それならフィールドに持っちゃえばいいんじゃね? — これを応用すると下記のような感じにもできる。
public class CustomOpenFileDialog
{
private OpenFileDialog _ofd;
public string FileName => _ofd.FileName;
public CustomOpenFileDialog(FilterType type)
{
_ofd = new OpenFileDialog();
_ofd.InitialDirectory = Environment.GetFolderPath(Environment.SpecialFolder.Desktop);
_ofd.Title = "ファイル選択";
switch (type)
{
case FilterType.CSV:
_ofd.Filter = "csvファイル(*.csv)| *.csv";
break;
case FilterType.HTML:
_ofd.Filter = "htmlファイル(*.html)| *.html";
break;
}
}
public DialogResult ShowDialog()
{
return _ofd.ShowDialog();
}
}
▸ この snippet は実行結果未収録
▸ 実行結果は未収録です
Source収録記事
この snippet は記事の「これを応用すると下記のような感じにもできる。」セクションに登場する。コードの前後の文脈・ハマりどころの解説は記事本文で。
同じ記事から
4 件using System; using System.IO; using System.Windows.Forms;未収録
実際にCustomOpenFileDialogを作ってみる。
#8467efcda984
using System; using System.Collections.Generic; using System.ComponentModel; using System.Data;未収録
実際にCustomOpenFileDialogを作ってみる。
#cfb43496e568
public enum FilterType { HTML = 1, CSV未収録
これを応用すると下記のような感じにもできる。
#4150199d1ce1
private void button1_Click(object sender, EventArgs e) { var cofd = new CustomOpenFileDialog(FilterType.CSV); if (cofd.ShowDialog() == DialogResult.OK)未収録
これを応用すると下記のような感じにもできる。
#3cbb7f609ff9
