46 votes

Plusieurs types dans un filtre SaveFileDialog

Dans mon SaveFileDialog, j'ai plusieurs types dans le filtre, mais lors de l'affichage de la boîte de dialogue, si je choisis un filtre pour afficher les fichiers de ce type dans le répertoire, je ne peux voir que les fichiers des premier et dernier filtres.

     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);
    }

Je peux voir des fichiers de type .bmp et .wmf Si je change l'ordre des filtres, je ne peux toujours voir que le premier et le dernier.

65voto

Daniel Hilgarth Points 90722

Supprimez les espaces après le type de fichier :

 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";

2voto

OSP Points 166

FilterIndex ... DefaultExt est utilisé uniquement pendant une sauvegarde. Un index est basé sur 1 donc si vous voulez choisir la 2ème option alors :

 dlg.FilterIndex = 2;

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X