Como cargo os items "conta corrente" e "conta poupanca" no combo box tipo de conta? Porque havia aprendido a como cargar instancias de objetos de um array de contas com o for each. Mas neste caso nao sei como fazer.
Você está vendo a versão anterior da nova experiência da Alura que estamos preparando para você. Em breve, ela ganha uma identidade visual novinha totalmente pensada em potencializar seus estudos!
Como cargo os items "conta corrente" e "conta poupanca" no combo box tipo de conta? Porque havia aprendido a como cargar instancias de objetos de um array de contas com o for each. Mas neste caso nao sei como fazer.
Oi Janile, tudo bom?
Podemos adicionar qualquer objeto no nosso comboBox =)
ContaPoupanca e ContaCorrente também são objetos, assim como Conta. Segue exemplo:
private void Form1_Load(object sender, EventArgs e)
{
contas = new Conta[3];
Conta contaDoVictor = new ContaCorrente();
contaDoVictor.Titular = new Cliente();
contaDoVictor.Titular.Nome = "Victor";
contaDoVictor.Numero = 1;
contas[0] = contaDoVictor;
Conta contaDoGuilherme = new ContaPoupanca();
contaDoGuilherme.Titular = new Cliente();
contaDoGuilherme.Titular.Nome = "Guilherme";
contaDoGuilherme.Numero = 2;
contas[1] = contaDoGuilherme;
Conta contaDoMauricio = new ContaInvestimento();
contaDoMauricio.Titular = new Cliente();
contaDoMauricio.Titular.Nome = "Mauricio";
contaDoMauricio.Numero = 3;
contas[2] = contaDoMauricio;
foreach (Conta conta in this.contas)
{
comboContas.Items.Add(conta);
destinoDaTransferencia.Items.Add(conta);
}
}
Aqui adicionamos uma ContaCorrente, uma ContaPoupanca e uma ContaInvestimento no nosso array de contas. Depois passamos adicionando todas elas no nosso combo.
Qualquer problema é só falar =)
Abraço e bons estudos.
Olá André, obrigado pela ajuda. Mas essa nao era minha duvida. Adicionar as instancias de objetos ao combo box eu ja entendi. O que o outro exercicio está pedindo é que eu adicione un combo box no formulario de cadastro de contas, no cual uma vez que o usuario ingreso o numero e o titular da conta nos correspondentes textbox, que ele possa selecionar se a conta que vai ser cadastrada é uma conta poupanca ou conta corrente. Minha pergunta é: Como adiciona no combobox TipoDeConta as opcoes "Conta Corrente" e "Conta Poupanca"
Entendo, nesse caso no segundo formulário precisará de um comboBox com as opções Conta Corrente e Conta Poupanca, pegamos o texto selecionado neste comboBox e verificamos se é igual a Conta Corrente. Se for a gente instancia uma Conta Corrente, se não a gente instancia uma Conta Poupanca. Depois disso basta adicionar a conta na lista do Form inicial =)
Segue exemplo:
using Caelum.CaixaEletronico.Modelo.Contas;
using Caelum.CaixaEletronico.Modelo.Usuarios;
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
namespace CaixaEletronico
{
public partial class CadastroDeContas : Form
{
private Form1 aplicacaoPrincipal;
public CadastroDeContas(Form1 aplicacaoPrincipal) : this()
{
this.aplicacaoPrincipal = aplicacaoPrincipal;
}
public CadastroDeContas()
{
InitializeComponent();
}
private void CadastroDeContas_Load(object sender, EventArgs e)
{
this.tipoDeConta.Items.Add("Conta Corrente");
this.tipoDeConta.Items.Add("Conta Poupança");
this.tipoDeConta.Items.Add("Conta Investimento");
}
private void button1_Click(object sender, EventArgs e)
{
Conta c;
if (tipoDeConta.Text.Equals("Conta Poupança"))
{
c = new ContaPoupanca();
}
else if(tipoDeConta.Text.Equals("Conta Corrente"))
{
c = new ContaCorrente();
}
else
{
c = new ContaInvestimento();
}
c.Numero = Convert.ToInt32(numeroDaConta.Text);
c.Titular = new Cliente();
c.Titular.Nome = titularConta.Text;
this.aplicacaoPrincipal.AdicionaConta(c);
}
}
}
Esse código, e o resto da aplicação com a implementação, você encontra no ultimo exercicio do capitulo.
Espero ter ajudado =)
Qualquer problema é só falar.
Abraço.