private void SaveFileSystemImageToFile(FileSystemDrive fileSystemDrive, string path, string password) { var storageManagerProgress = new Progress <StorageManagerProgress>(); LoadAndSaveProgressBar.Visible = true; storageManagerProgress.ProgressChanged += (s, e) => { LoadAndSaveProgressBar.Value = e.ProgressPercentage; LoadAndSaveProgressInfoLabel.Text = e.Text; }; saveAsToolStripMenuItem.Enabled = false; saveToolStripMenuItem.Enabled = false; Task.Run(async() => { var settings = new StorageManagerSettings(true, Environment.ProcessorCount, true, password); var storageManager = new StorageManager(settings); bool success = await storageManager.SerializeObjectToFileAsync(fileSystemDrive, path, storageManagerProgress); OutcomeEventArgs outcomeEventArgs = success ? OutcomeEventArgs.Success : OutcomeEventArgs.Failure; SaveFileEventHandler onSaveComplete = HandleSaveFileComplete; BeginInvoke(onSaveComplete, this, outcomeEventArgs); }); }
public void RemoveOnSaveFile(SaveFileEventHandler handler) { OnSaveFileHandler -= handler; }
public void AddOnSaveFile(SaveFileEventHandler handler) { OnSaveFileHandler += handler; }