private void newToolStripMenuItem_Click(object sender, EventArgs e) { NAngleForm form = new NAngleForm(); form.MdiParent = this; form.Show(); }
private void triangleResearch(NAngleForm owner) { triangleDrawer = new TriangleCellsDrawer(FreeClass.sldManager, FreeClass.body, FreeClass.bodyDrawer); dataGridView1.RowCount = 2; withoutIterationResearch(); int start, end, step; start = Convert.ToInt16(owner.GetStartPoint()); end = Convert.ToInt16(owner.GetEndPoint()); step = Convert.ToInt16(owner.GetStep()); double partOfVolume = Convert.ToDouble(owner.GetVolume()); for (int i = start, j = 2; i <= end; i = i + step, j++) { dataGridView1.RowCount = j; triangleCells = new TriangleCells(FreeClass.body); triangleCells.SetAccuracy(Convert.ToInt16(owner.GetAccuracy())); triangleCells.SetColumnsNumber(i); triangleCells.SetRowsNumber(i); triangleCells.SetCellsHeight(owner.GetHeight()); triangleCells.SetCellsV(FreeClass.body.GetV() * partOfVolume / 100); triangleCells.Calculation(); if (!triangleCells.isAvailable()) { string reason = "Степень - " + i + " " + writeResults(triangleCells); DialogResult dialogResult = MessageBox.Show("Не было найдено решение для условий - " + reason + Environment.NewLine + "Попробовать следущий шаг? (В противном случае, вычисления будут приостановлены)", "Предупреждение", MessageBoxButtons.YesNo); if (dialogResult == DialogResult.Yes) { continue; } else if (dialogResult == DialogResult.No) { break; } } dataGridView1.Rows[j - 1].Cells[0].Value = triangleCells.GetRowsNumber() * triangleCells.GetColumnsNumber(); try { ResearchActions(triangleDrawer, i, j); } catch (Exception) { MessageBox.Show("Невозможно построить сетку"); return; } dataGridView1.Rows[j - 1].Cells[3].Value = Convert.ToDouble(dataGridView1.Rows[j - 1].Cells[1].Value) - Convert.ToDouble(dataGridView1.Rows[0].Cells[1].Value); // Напряжение dataGridView1.Rows[j - 1].Cells[4].Value = Convert.ToDouble(dataGridView1.Rows[0].Cells[1].Value) * 100 / Convert.ToDouble(dataGridView1.Rows[j - 1].Cells[1].Value); // % dataGridView1.Rows[j - 1].Cells[5].Value = Convert.ToDouble(dataGridView1.Rows[j - 1].Cells[2].Value) - Convert.ToDouble(dataGridView1.Rows[0].Cells[2].Value); // Деформация dataGridView1.Rows[j - 1].Cells[6].Value = Convert.ToDouble(dataGridView1.Rows[0].Cells[2].Value) * 100 / Convert.ToDouble(dataGridView1.Rows[j - 1].Cells[2].Value); // % } //На случай, если нужно будет поменять условия циклического построения //чтобы приложение не обращалось по нулевой ссылке research = new Research(FreeClass.sldManager, FreeClass.bodyDrawer.GetFacesArray()); }