2
respostas

Não mostra o saldo, titular e numero nos textbox

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 Caixa_Eletronico : Form
    {

        Conta[] contas;

        public Caixa_Eletronico()
        {
            InitializeComponent();
        }

        private void Caixa_Eletronico_Load(object sender, EventArgs e)
        {

            contas = new Conta[2];


            Conta contabruno = new Conta();
            Cliente bruno = new Cliente();
            contabruno.Numero = 1;
            contabruno.Titular = bruno;
            contabruno.Titular.nome = "Bruno";
            contabruno.Saldo = 500;
            this.contas[0] = contabruno;

            Conta contamarlene = new Conta();
            Cliente marlene = new Cliente();
            contamarlene.Numero = 2;
            contamarlene.Titular = marlene;
            contamarlene.Titular.nome = "Marlene";
            contamarlene.Saldo = 600;
            this.contas[1] = contamarlene;



            comboContas.Items.Add(contas[0].Titular.nome);
            comboContas.Items.Add(contas[1].Titular.nome);

        }

        private void comboContas_SelectedIndexChanged(object sender, EventArgs e)
        {
            int selecionados = comboContas.SelectedIndex;
            Conta cselecionados = contas[selecionados];

            this.MostrarConta(cselecionados);

        }
        private void MostrarConta(Conta cselecionados)
        {
            textoTitular.Text = Convert.ToString(cselecionados.Titular);
            textoSaldo.Text = Convert.ToString(cselecionados.Saldo);
            textoNumero.Text = Convert.ToString(cselecionados.Numero);
        }

    }
}
2 respostas

O método MostrarConta() não pede nenhum parâmetro e você está passando contaselecionada para ele.

Troque

private void MostrarConta()

por

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

Eu refiz tudo agora ele compila mais quando você seleciona a conta no combo box nao atualiza o textbox fica branco.

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 Caixa_Eletronico : Form
    {

        Conta[] contas;

        public Caixa_Eletronico()
        {
            InitializeComponent();
        }

        private void Caixa_Eletronico_Load(object sender, EventArgs e)
        {

            this.contas = new Conta[2];


            Conta contabruno = new Conta();
            Cliente bruno = new Cliente();
            contabruno.Numero = 1;
            contabruno.Titular = bruno;
            contabruno.Titular.nome = "Bruno";
            contabruno.Saldo = 500;
            this.contas[0] = contabruno;

            Conta contamarlene = new Conta();
            Cliente marlene = new Cliente();
            contamarlene.Numero = 2;
            contamarlene.Titular = marlene;
            contamarlene.Titular.nome = "Marlene";
            contamarlene.Saldo= 600;
            this.contas[1] = contamarlene;


            foreach (Conta c in contas) { 

              comboContas.Items.Add(c.Titular.nome);

            }

        }

        private void comboContas_SelectedIndexChanged(object sender, EventArgs e)
        {
            int selecionados = comboContas.SelectedIndex;
            Conta cselecionados = contas[selecionados];

            this.MostrarConta(cselecionados);

        }
        private void MostrarConta(Conta cselecionados)
        {
            textoTitular.Text = cselecionados.Titular.nome;
            textoSaldo.Text = Convert.ToString(cselecionados.Saldo);
            textoNumero.Text = Convert.ToString(cselecionados.Numero);
        }

    }
}