private void OnClick(ButtonClickEventArgs obj) { var thread = new Thread(() => { var chartObjectModels = _chart.GetObjectModels(); if (chartObjectModels.Length == 0) { MessageBox.Show("There is no pattern object on your chart to save", "Error", MessageBoxButtons.OK, MessageBoxIcon.Warning); return; } var saveFileDialog = new SaveFileDialog { Title = "Save Chart Patters", Filter = "pt Files (*.pt)|*.pt", RestoreDirectory = true }; if (saveFileDialog.ShowDialog() != DialogResult.OK) { return; } ChartObjectsSerializer.Serialize(chartObjectModels, saveFileDialog.FileName); }); thread.SetApartmentState(ApartmentState.STA); thread.Start(); thread.Join(); }
private void OnClick(ButtonClickEventArgs obj) { var thread = new Thread(() => { var openFileDialog = new OpenFileDialog { Title = "Load Chart Patters", Filter = "pt Files (*.pt)|*.pt", RestoreDirectory = true }; if (openFileDialog.ShowDialog() != DialogResult.OK) { return; } var chartObjectModels = _chart.GetObjectModels(); var models = ChartObjectsSerializer.Deserialize(openFileDialog.FileName); if (models.Length == 0) { MessageBox.Show("There is no pattern object inside your selected file", "Error", MessageBoxButtons.OK, MessageBoxIcon.Warning); return; } _chart.DrawModels(models); }); thread.SetApartmentState(ApartmentState.STA); thread.Start(); thread.Join(); }