private void button3_Click(object sender, EventArgs e) { FormAniadirLinea fal = new FormAniadirLinea(); fal.ShowDialog(); DialogResult dr = fal.DialogResult; while (dr == DialogResult.Abort) { fal.Dispose(); fal = new FormAniadirLinea(); dr = fal.ShowDialog(); } if (dr == DialogResult.OK) { //Añado a la venta base, que empieza como vacia (v) un articulo, el cual busco en nuestro servicio articulos. sv.DarAltaVenta(v); //Para ello necesito construir un articulo envoltorio del codigo if (sa.ObtenerInfoArticulo(new Articulo(fal.textBox1.Text, tipoIva.normal, 0)) != null) //Si el articulo esta en nuestra base de datos { string codigoArticulo = fal.textBox1.Text; int numeroArticulos = int.Parse(fal.textBox2.Text); sv.AnadirLineaVenta(v, sa.ObtenerInfoArticulo(new Articulo(codigoArticulo, tipoIva.normal, 0)), numeroArticulos); this.listBox1.Items.Clear(); foreach (LineaVenta l in v.Lineas) { this.listBox1.Items.Add(new Label().Text = l.ToString()); } } else { DialogResult drDelay = MessageBox.Show(this, "El articulo no existe", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error); } } else { fal.Dispose(); } }