Herencia de Formularios en C# y Lista de Supermercado con Windows Forms
Clasificado en Informática
Escrito el en
español con un tamaño de 5,46 KB
Herencia de Formularios
En los menús, colocar el siguiente código para abrir los demás formularios hijos:
frmExemplo2 exemplo2 = new frmExemplo2();
exemplo2.MdiParent = this;
exemplo2.Show();
Después de eso, para crear un formulario modelo y que este sea heredado por los demás formularios:
En el archivo .Designer.cs
Incluir : (dos puntos) y el nombre del formulario modelo delante de 'partial class'.
En el Form hijo
Incluir : (dos puntos) y el nombre del formulario modelo delante de 'partial class'.
Clase
using System.Collections.Generic;
using System.Windows.Forms;
namespace LP3
{
class Supermercado
{
//Creando Collection
public List<string> lista = new List<string>();
//Creando método CriarLista
public void CriarLista(string produto)
{
produto = produto.ToUpper();
if (lista.Contains(produto))
MessageBox.Show("Ya existe este producto en la lista");
else
this.lista.Add(produto);
}
public void VisualizarLista(Form frmok)
{
//Método que recibe el nombre de un formulario como parámetro
ListBox lstListaCompra = new ListBox();
RemoveLista(frmok);
lstListaCompra.Size = new System.Drawing.Size(200, 100);
lstListaCompra.Location = new System.Drawing.Point(35, 106);
frmok.Controls.Add(lstListaCompra);
lstListaCompra.MultiColumn = true;
lstListaCompra.SelectionMode = SelectionMode.MultiExtended;
//****************************************************
lstListaCompra.Text = "Comprar";
//****************************************************
lstListaCompra.BeginUpdate();
//recorre la colección lista
foreach (string x in lista)
{
lstListaCompra.Items.Add(x);
}
lstListaCompra.EndUpdate();
}
public void MontaCarrinho(ListBox carrinho, string mercadoria)
{
DialogResult resp;
mercadoria = mercadoria.ToUpper();
if (lista.Contains(mercadoria) == false)
{
resp = MessageBox.Show("Esta mercancía no está en su lista de compras. \n ¿Desea agregarla de todas formas?", "super1", MessageBoxButtons.YesNo);
if (resp == DialogResult.Yes)
carrinho.Items.Add(mercadoria);
}
else
carrinho.Items.Add(mercadoria);
}
public void RemoveLista(Form formu)
{
foreach (Control c in formu.Controls)
{
if (c.Text == "Comprar")
{
formu.Controls.Remove(c);
}
}
Form
//Instanciando la clase
Supermercado super1 = new Supermercado();
private void btnCriarLista_Click(object sender, EventArgs e)
{
super1.VisualizarLista(this);
string produto;
DialogResult resp;
resp = DialogResult.Yes;
do
{
produto = Interaction.InputBox("Digite un producto");
super1.CriarLista(produto);
resp = MessageBox.Show("¿Desea agregar un ítem más?", "Supermercado Tabajar", MessageBoxButtons.YesNo);
}while(resp == DialogResult.Yes);
}
private void btnCarrinho_Click(object sender, EventArgs e)
{
if (txtCarrinho.Text == "")
MessageBox.Show("Digite la mercancía");
else
super1.MontaCarrinho(lstCarrinho, txtCarrinho.Text);
}