Amigos, estou com problemas na comboBox. Enquanto tinha apenas uma comboBox com 2 itens, funcionou. Contudo, aumentei para 4 itens e criei a comboBox da conta de destino.
O que aconteceu foi o seguinte: na comboBox da conta de origem continuam aparecendo apenas duas pessoas (das quatro que deveriam aparecer). Essas duas pessoas é a primeira e a quarta que foram criadas - as demais não aparecem.
Já na comboBox da conta de destino não aparece nada.
Vi nas dúvidas do exercício 1 pelo menos uma pessoa com problema semelhante e não solucionado. Estou com o visual studio 2015. Segue o código:
public partial class Form1 : Form { Conta [] contas;
public Form1() { InitializeComponent(); }
private void button1_Click(object sender, EventArgs e) { //depósito double valorDeposito = Convert.ToDouble(textoValor.Text); Conta conta = buscaContaOrigemDados(); conta.deposita(valorDeposito); mostraConta(conta); }
private void button2_Click(object sender, EventArgs e) { //saque double valorSaque = Convert.ToDouble(textoValor.Text); Conta conta = buscaContaOrigemDados(); conta.saca(valorSaque); mostraConta(conta); }
private void Form1_Load(object sender, EventArgs e) { Conta contaDoVictor = new Conta(); contaDoVictor.Titular = new Cliente("Victor"); contaDoVictor.Numero = 1;
Conta contaDoMario = new Conta(); contaDoMario.Titular = new Cliente("Mario"); contaDoMario.Numero = 2;
Conta contaDoAndre = new ContaPoupanca(); contaDoMario.Titular = new Cliente("André"); contaDoMario.Numero = 3;
Conta contaDoAndressa = new ContaCorrente(); contaDoMario.Titular = new Cliente("Andressa"); contaDoMario.Numero = 4;
this.contas = new Conta[4];
this.contas[0] = contaDoVictor; this.contas[1] = contaDoMario; this.contas[2] = contaDoAndre; this.contas[3] = contaDoAndressa;
foreach (Conta conta in contas) { comboContas.Items.Add(conta.Titular.Nome); }
foreach (Conta conta in contas) { string nome = conta.Titular.Nome; comboDestino.Items.Add(nome); } }
private void mostraConta(Conta conta) { textoNumero.Text = Convert.ToString(conta.Numero); textoSaldo.Text = Convert.ToString(conta.Saldo); textoTitular.Text = conta.Titular.Nome; }
private Conta buscaContaOrigemDados() { int indiceSelecionado = comboContas.SelectedIndex; Conta ContaSelecionada = contas[indiceSelecionado]; return ContaSelecionada; }
private void comboContas_SelectedIndexChanged(object sender, EventArgs e) { Conta contaSelecionada = buscaContaOrigemDados(); mostraConta(contaSelecionada); }
private void Transferencia_Click(object sender, EventArgs e) { Conta contaOrigem = buscaContaOrigemDados(); Conta contaDestino = contas[comboDestino.SelectedIndex];
double valor = Convert.ToDouble(textoValor.Text);
contaOrigem.saca(valor); contaDestino.deposita(valor);
mostraConta(contaOrigem); } }