private void BtnAceptarIndicador_Click(object sender, EventArgs e) { //Si tiene texto la caja agrega de lo contrario muestra mensaje if (!txtIndicador.Text.Equals("") && !txtIndicadorMax.Text.Equals("") && !txtIndicadorMin.Text.Equals("") && comboParametros.SelectedItem != null) { //Obtiene parametro y agrega a lista double inMax = 0, inMin = 0; double.TryParse(txtIndicadorMax.Text, out inMax); double.TryParse(txtIndicadorMin.Text, out inMin); string indicador = txtIndicador.Text; string param = comboParametros.GetItemText(comboParametros.SelectedItem); Indicador actual = new Indicador() { Nombre = indicador, Min = inMin, Max = inMax, Parametro = param }; IndicadoresPrim.Add(actual); txtIndicador.Clear(); txtIndicadorMax.Clear(); txtIndicadorMin.Clear(); //TODO reiniciar combo comboParametros.SelectedIndex = -1; //Limpia DataGrid y actualiza con el nuevo parametro, muestra mensaje dgvIndicadores.Rows.Clear(); foreach (Indicador data in IndicadoresPrim) { dgvIndicadores.Rows.Add(data.Nombre, data.Min.ToString("0.000"), data.Max.ToString("0.000"), data.Parametro); } //MessageBox.Show(null, "Agregado Correctamente", "Informacion", MessageBoxButtons.OK, MessageBoxIcon.Information); } else { MessageBox.Show(null, "No hay que agregar", "Informacion", MessageBoxButtons.OK, MessageBoxIcon.Warning); } //asignar focus a txtIndicador -> Seguir agregando indicadores txtIndicador.Focus(); }
private void BtnGraficar_Click(object sender, EventArgs e) { List <Indicador> IndicadoresFin = new List <Indicador>(); List <string> CasoAnalisis = new List <string>(); //Materiales.Add("hola"); //IndicadoresFin.Add(new Indicador() //{ // Valor = 12, // Inverso = false, // Parametro = "hola", // Min = 0, // Max = 14, // Nombre = "Item" //}); IndicadoresFin.Add(new Indicador() //{ // Valor = 120, // Inverso = false, // Parametro = "hola", // Min = 0, // Max = 140, // Nombre = "Item3" //}); IndicadoresFin.Add(new Indicador() //{ // Valor = 120, // Inverso = false, // Parametro = "hola", // Min = 0, // Max = 200, // Nombre = "Item2" //}); TextDialog DialogM = new TextDialog("Introduce la cantidad de casos de análisis"); DialogM.Text = "Casos de análisis"; DialogM.checkBoxInvertir.Visible = false; int cantM = 0; if (DialogM.ShowDialog(this) == DialogResult.OK) { string result = DialogM.txtResult.Text; if (!result.Equals("")) { int.TryParse(result, out cantM); } } else { return; } DialogM.Dispose(); for (int i = 0; i < cantM; i++) { TextDialog DialogMat = new TextDialog("Nombre del caso de análisis"); DialogM.Text = "Caso de análisis"; DialogMat.checkBoxInvertir.Visible = false; if (DialogMat.ShowDialog(this) == DialogResult.OK) { //Obtener valores de Dialog string result = DialogMat.txtResult.Text; if (result.Equals("") || CasoAnalisis.Contains(result)) { MessageBox.Show("Ya existe el caso de análisis, introduzca otro nombre"); i--; continue; } else { CasoAnalisis.Add(result); } } else { return; } DialogMat.Dispose(); } foreach (var mat in CasoAnalisis) { foreach (var item in IndicadoresPrim) { TextDialog Dialog = new TextDialog("Caso de análisis: " + mat + "\nParametro " + item.Parametro + " Indicador:" + item.Nombre + "\nIntroduce su valor"); Dialog.Text = "Valor del caso de análisis"; if (Dialog.ShowDialog(this) == DialogResult.OK) { //Obtener valores de Dialog bool inverso = Dialog.checkBoxInvertir.Checked; string result = Dialog.txtResult.Text; if (!result.Equals("")) { double inValue = 0; double.TryParse(result, out inValue); Indicador data = new Indicador() { Valor = inValue, Inverso = inverso, Parametro = mat, Min = item.Min, Max = item.Max, Nombre = item.Nombre + "\n" + item.Parametro }; IndicadoresFin.Add(data); } } else { return; } Dialog.Dispose(); } } Grafica grafica = new Grafica(IndicadoresFin, CasoAnalisis); grafica.ShowDialog(this); grafica.Dispose(); }