web-dev-qa-db-ja.com

SaveFileDialogフィルターの複数のタイプ

SaveFileDialogにはフィルターに複数のタイプがありますが、ダイアログを表示するときに、フィルターを選択してディレクトリ内のそのタイプのファイルを表示すると、最初と最後のフィルターのファイルしか表示できません。

    bool save;
    SaveFileDialog dlg = new SaveFileDialog();
    dlg.FileName = "*";
    dlg.DefaultExt = "bmp";
    dlg.ValidateNames = true;

    dlg.Filter = "Bitmap Image (.bmp)|*.bmp|Gif Image (.gif)|*.gif |JPEG Image (.jpeg)|*.jpeg |Png Image (.png)|*.png |Tiff Image (.tiff)|*.tiff |Wmf Image (.wmf)|*.wmf";
    save = (bool)dlg.ShowDialog();

    if (save)
    {
        SaveImage(dlg.FileName);
    }

タイプ.bmpおよび.wmfのファイルを表示できます。フィルターの順序を変更すると、常に最初と最後のみが表示されます。

38
Eamonn McEvoy

ファイルタイプの後にスペースを削除します。

dlg.Filter = "Bitmap Image (.bmp)|*.bmp|Gif Image (.gif)|*.gif|JPEG Image (.jpeg)|*.jpeg|Png Image (.png)|*.png|Tiff Image (.tiff)|*.tiff|Wmf Image (.wmf)|*.wmf";
56
Daniel Hilgarth

FilterIndex ... DefaultExtは保存時にのみ使用されます。インデックスは1ベースなので、2番目のオプションを選択する場合は次のようにします。

dlg.FilterIndex = 2;
2
OSP