// 文件添加 private void FileListAdd(FileInfo file) { AppFileType fileType; if (VideoExts.Contains(file.Extension.ToString().ToLower())) { fileType = AppFileType.Video; } else if (SubExts.Contains(file.Extension.ToString().ToLower())) { fileType = AppFileType.Sub; } else { return; } var vsItem = new VsItem(); if (fileType == AppFileType.Video) { if (VsList.Exists(o => o.Video == file.FullName)) { return; // 重名排除 } vsItem.Video = file.FullName; } else if (fileType == AppFileType.Sub) { if (VsList.Exists(o => o.Sub == file.FullName)) { return; } vsItem.Sub = file.FullName; } vsItem.Status = VsStatus.Unmatched; VsList.Add(vsItem); }
public static void OpenFile(AppFileType FileType, Action <string, AppFileType> opened) { using (var fbd = new CommonOpenFileDialog()) { if (FileType == AppFileType.Video) { fbd.Filters.Add(new CommonFileDialogFilter("视频文件", string.Join(";", VideoExts.ToList()))); } else if (FileType == AppFileType.Sub) { fbd.Filters.Add(new CommonFileDialogFilter("字幕文件", string.Join(";", SubExts.ToList()))); } fbd.Filters.Add(new CommonFileDialogFilter("视频或字幕文件", string.Join(";", VideoExts.Concat(SubExts).ToList()))); fbd.Filters.Add(new CommonFileDialogFilter("任何类型", "*.*")); var result = fbd.ShowDialog(); if (result == CommonFileDialogResult.Ok && !string.IsNullOrWhiteSpace(fbd.FileName)) { var fileName = Path.GetFileName(fbd.FileName.Trim()); opened(fileName, FileType); } } }