Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

Erro no form1

Consigo cadastrar um nova conta, mas ao selecioná-la aparece o seguinte o erro no Form1, em (Conta)comboContas.SelectedItem: "Não é possível converter um objeto do tipo 'System.String' no tipo 'CaixaEletronico.Conta'.'

 private void comboContas_SelectedIndexChanged(object sender, EventArgs e)
        {
            Conta contaSelecionada = (Conta)comboContas.SelectedItem;

            textoTitular.Text = contaSelecionada.Titular.Nome;
            textoNumero.Text = Convert.ToString(contaSelecionada.Numero);
            textoSaldo.Text = Convert.ToString(contaSelecionada.Saldo);
        }
2 respostas
solução!

Olá Thiago,

o problemas provavelmente está no seu método de adicionar uma conta no comboContas na verdade. Você está adicionando a conta ou o nome do titular no combo de contas? Pelo erro provavelmente o combo box está recebendo o nome do titular (que é uma String) e por isso o SelectedItem devolve na verdade este nome e não a conta. Para funcionar você precisa adicionar a conta no combo box, algo assim:

 comboContas.Items.Add(conta)

Olá, Thiago

Estou pegando esse código do próprio material inserido na aula. Espero que ajude.

    private Conta BuscaContaSelecionada()
    {
        int indiceSelecionado = comboContas.SelectedIndex;
        return this.contas[indiceSelecionado];
    }

private void comboBox1_SelectedIndexChanged(object sender, EventArgs e)
    {
        string titularSelecionado = comboContas.Text;
        Conta contaSelecionada = this.BuscaContaSelecionada();
    this.MostraConta(contaSelecionada);
    }

    private void MostraConta(Conta conta)
    {
        textoTitular.Text = conta.Titular.Nome;
        textoSaldo.Text = Convert.ToString(conta.Saldo);
        textoNumero.Text = Convert.ToString(conta.Numero);
    }