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

Erro ao selecionar o registro criado no comboConta

Olá a todos.

Fiz conforme ensinado no vídeo: a) chamo o formulário de Cadastro e insiro um nome e número da conta, b) Fecho o formulário cadastro, c:) ao selecionar o registro criado no comboConta dá erro de System.IndexOutOfRangeException.

Posto abaixo como deixei os códigos: Evento do botao cadastro

 {
                ContaCorrente c = new ContaCorrente();
                c.Numero = Convert.ToInt32(numeroDaConta.Text);
                c.Titular = new Cliente(titularConta.Text);
                this.aplicaçãoPrincipal.AdicionaConta(c);
            }

No Form1:

    private Conta[] contas;
    private int numeroDeContas;

  public void AdicionaConta(Conta c)
        {
            this.contas[this.quantidadeDeContas] = c;
            this.quantidadeDeContas++;
            comboContas.Items.Add(c);
        }

Cadastro de Contas

private Form1 aplicaçãoPrincipal;
        public CadastroDeContas(Form1 aplicaçãoPrincipal)
        {
            this.aplicaçãoPrincipal = aplicaçãoPrincipal;
            InitializeComponent();
        }

Botao para abrir o formulário cadastro:

CadastroDeConta cadastro = new CadastroDeConta(this);
    cadastro.ShowDialog();

OUTRA COISA: inseri um breakpoint em meu programa. Por que ele não parou na instrução do breakpoint? Tentei debugar com F11 e ele não executou o passo-a-passo !!!!!

Obrigado.

5 respostas

Em que momento o array de contas é inicializado?

private Conta[] contas;

So pergunto pq, mesmo nao sendo especialista em c#, a exception eh a mesma de outras linguagens... IndexOut... vc ta acessando uma posicao do array que nao existe.

Exato Alberto .. também entendi assim..mas não consegui ver que posição é esta. Estou inicializando conforme informado no exercício: no Form1

public partial class Form1 : Form
    {
        private Conta[] contas;
        private int quantidadeDeContas;

olá Alberto.. sobre a pergunta acima, você tem alguma dica do porque ocorre a mensagem deIndexOutOfRangeException?

Olá João,

quando você deu o new no seu array de Conta, quantas posições você passou? Além disso, como o erro só é causado no momento que você seleciona um elemento no ComboBox, o erro deve estar no seu método comboBox1_SelectedIndexChanged. Me manda o código deste método para eu dar uma olhada.

solução!

Obrigado Lucas. Mas para não ficar parado na dúvida, continuei a aula. Baixei o arquivo e agora vou comparar com o que fiz de errado. Agradeço o retorno amigo. Caso tenha mais alguma dúvida eu retorno. Abraço.