// Закрытие приложения private void b_Exit_Click(object sender, EventArgs e) { if (c_Area != null) { if (c_Area.GetRun) { c_Area.StopCalculateArea(); } c_Area = null; } Close(); }
// Расчитать площадь private void b_Calculate_Click(object sender, EventArgs e) { try { // Если поток вычисления не запущен if (c_Area == null || (c_Area != null && !c_Area.GetRun)) { t_PolygonArea.Text = ""; // Считывание координат в двумерный массив double[,] d_Coordinates = new double[d_Table.Rows.Count, 2]; Table.GetCoordinates(d_Table, d_Coordinates); c_Area = new CalculateArea(d_Coordinates, t_PolygonArea); c_Area.RunCalculateArea(); } } catch (ApplicationException e_Ex) { MessageBox.Show(e_Ex.Message); } }
public MainForm() { InitializeComponent(); c_Area = null; }