コード例 #1
0
        public static string[] OpenFolderDialog(DirectoryInfo directory, FileFormats formats)
        {
            var formatsBuilder = new StringBuilder();

            if (formats.HasFlag(FileFormats.MeshFormats))
            {
                formatsBuilder.Append("3D files (*.obj,*.stl )|*.obj;*.stl|");
            }

            if (formats.HasFlag(FileFormats.All))
            {
                formatsBuilder.Append("All files (*.*)|*.*");
            }

            var filter = formatsBuilder.ToString().TrimEnd('|');

            var dialog = new Microsoft.Win32.OpenFileDialog();

            dialog.InitialDirectory = directory.FullName;
            dialog.Multiselect      = true;
            dialog.Filter           = filter;
            dialog.DefaultExt       = filter;
            dialog.Title            = "Open file";

            if (dialog.ShowDialog() == false)
            {
                return(null);
            }

            return(dialog.FileNames);
        }