//Método que gera as tabelas de cada iteração do Simplex public void GerarTabelas(Simplex s, int x, int y) { int numLinhas, numColunas; TableLayoutPanel tlp; Label lbl; try { tlp = new TableLayoutPanel(); numLinhas = s.TabelaSimplex.GetLength(0) + 1; numColunas = s.TabelaSimplex.GetLength(1); tlp.Controls.Clear(); tlp.Size = new Size(75 * numColunas, 40 * numLinhas); tlp.Location = new Point(x, y); tlp.RowCount = numLinhas; tlp.ColumnCount = numColunas; GerarCabecalho(ref tlp, s.QtdeVariaveis, s.QtdRestricoes); for (int i = 0; i < numLinhas - 1; i++) { tlp.RowStyles.Add(new RowStyle(SizeType.Percent, 100 / numLinhas)); for (int j = 0; j < numColunas; j++) { tlp.ColumnStyles.Add(new ColumnStyle(SizeType.Percent, 100 / numColunas)); lbl = new Label() { Name = "lblX" + i + "," + j, Text = s.TabelaSimplex[i, j].ToString(), Font = new Font("Microsoft Sans Serif", 12.0f), Anchor = AnchorStyles.None }; tlp.Controls.Add(lbl, j, i + 1); } } tlp.CellBorderStyle = TableLayoutPanelCellBorderStyle.Outset; this.Controls.Add(tlp); lbl = new Label() { Name = "lblNumIteracoes", Text = "Número de Iterações: " + s.NumIteracoes.ToString(), Font = new Font("Microsoft Sans Serif", 12.0f), AutoSize = true }; lbl.Location = new Point(x + 75 * numColunas, y + 28 * numLinhas); this.Controls.Add(lbl); lbl = new Label() { Name = "lblUltimoEP", Text = "Último Elemento Pivô: " + s.ElementoPivo.ToString(), Font = new Font("Microsoft Sans Serif", 12.0f), AutoSize = true }; lbl.Location = new Point(x + 75 * numColunas, y + 35 * numLinhas); this.Controls.Add(lbl); } catch (Exception ex) { MessageBox.Show(ex.Message); } }
//Construtor que chama os resultados no formulário public frmResultados(Simplex s) { InitializeComponent(); MostrarTabelas(s); }