private async void cbQualFac_SelectedIndexChanged(object sender, EventArgs e) { genSettings.QualityFactor = GetQualityFactor(); ProgramStatusBusy(); pbFractalImage.Image = await creator.CreateAsync(); ProgramStatusDone(); }
private async void btnOpenFractalData_ClickAsync(object sender, EventArgs e) { var od = new OpenFileDialog() { FileName = "fractalData.fd", Filter = "FractalData files(*.fd) | *.fd", RestoreDirectory = true }; if (od.ShowDialog() != DialogResult.OK) { return; } try { BinaryFormatter formatter = new BinaryFormatter(); fractalData = null; pbFractalImage.Image = null; using (FileStream fs = new FileStream(od.FileName, FileMode.Open)) { fractalData = (FractalData)formatter.Deserialize(fs); } } catch { MessageBox.Show($"Произошла ошибка открытия файла. Возможно, файл имеет неверный формат.", "Fractal #", MessageBoxButtons.OK, MessageBoxIcon.Error); return; } creator = new FractalCreator(fractalData, genSettings, colorSettings); lblPosXCenter.Text = $"Центр X: {fractalData.CenterX}"; lblPosYCenter.Text = $"Центр Y: {fractalData.CenterY}"; lblSizeArea.Text = $"Увеличение: {fractalData.SizeArea}"; switch (fractalData.FractalType) { case FractalEnumType.Mandelbrot: { cbFractalType.SelectedIndex = 0; break; } case FractalEnumType.Julia: { cbFractalType.SelectedIndex = 1; break; } case FractalEnumType.Lambda: { cbFractalType.SelectedIndex = 2; break; } default: { throw new NotImplementedException(); } } ProgramStatusBusy(); pbFractalImage.Image = await creator.CreateAsync(); ProgramStatusDone(); MessageBox.Show($"Файл успешно открыт.", "Fractal #"); }