private void View_ResultSelected(object sender, EventArgs e) { if (programStatus == ProgramStatus.FileOperation) { return; } mainFormView.ClearProperties(); int[] selectedItems = null; int itemsCount = mainFormView.SelectedItemsCount; const ushort maxViewedItems = 1024; const ushort maxSizeCountableItems = 4096; FileInfo file = null; if (itemsCount == 0) { mainFormView.IsShowEnabled = false; mainFormView.IsOpenEnabled = false; mainFormView.IsCopyEnabled = false; mainFormView.IsMoveEnabled = false; mainFormView.IsDeleteEnabled = false; return; } mainFormView.IsShowEnabled = itemsCount == 1; mainFormView.IsOpenEnabled = itemsCount == 1; if (programStatus == ProgramStatus.ReadyToSearch) { mainFormView.IsCopyEnabled = true; mainFormView.IsMoveEnabled = true; mainFormView.IsDeleteEnabled = true; } if (itemsCount > 1) { mainFormView.AddProperty($"Selected files: {itemsCount}{Environment.NewLine}"); if (itemsCount > maxSizeCountableItems) { return; } selectedItems = mainFormView.SelectedItems; long fileSizesSum = selectedItems.AsParallel().Sum((i => files[i].Length)); mainFormView.AddProperty($"Total size: {model.GetFileSize(fileSizesSum)}{Environment.NewLine}{Environment.NewLine}"); if (itemsCount > maxViewedItems) { return; } for (int i = 0; i < itemsCount; i++) { file = files[selectedItems[i]]; mainFormView.AddProperty($"Full name: {file.FullName}{Environment.NewLine}{Environment.NewLine}"); } return; } selectedItems = mainFormView.SelectedItems; int number = selectedItems[0]; if (number < 0) { return; } file = files[number]; mainFormView.AddProperty($"Full Name: {file.FullName}\n"); mainFormView.AddProperty($"Creation Time: {file.CreationTime}\n"); mainFormView.AddProperty($"Last Access Time: {file.LastAccessTime}\n"); mainFormView.AddProperty($"Size: {model.GetFileSize(file.Length)}\n"); mainFormView.AddProperty($"Readonly: {file.IsReadOnly}"); }