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

Estou com dúvida no curso de C# e Tópicos Avançados, no exercício 5 do capítulo Mão na Massa - Formulários.

Copiei o código da resposta e no meu teste o item do combo não é apagado....

4 respostas
solução!

Olá Antonio

Você pode colar o código do formulário?

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 WindowsFormsApplication2 { public partial class Form1 : Form {

Conta[] contas; int quantidadeDeContas = 0; Conta contaSelecionada; Conta contaTransfere; int indiceSelecionado;

public Form1() { InitializeComponent(); } private void Form1_Load(object sender, EventArgs e) { contas = new Conta[3];

contas[quantidadeDeContas] = new Conta(); contas[quantidadeDeContas].Numero = 1; contas[quantidadeDeContas].Titular = "Victor"; contas[quantidadeDeContas].Deposita(1000); quantidadeDeContas++;

contas[quantidadeDeContas] = new Conta(); contas[quantidadeDeContas].Numero = 2; contas[quantidadeDeContas].Titular = "Mário"; contas[quantidadeDeContas].Deposita(2000); quantidadeDeContas++;

foreach (Conta conta in contas) { cboContas.Items.Add(conta.Titular); destinoDaTransferencia.Items.Add(conta.Titular); }

}

private void cboContas_SelectedIndexChanged(object sender, EventArgs e) { indiceSelecionado = cboContas.SelectedIndex; contaSelecionada = contas[indiceSelecionado]; this.AtualizaDados(); }

private void btnSaque_Click(object sender, EventArgs e) { contaSelecionada.Saca(Convert.ToDouble(textoValor.Text)); this.AtualizaDados(); }

private void AtualizaDados() { textoTitular.Text = contaSelecionada.Titular; textoNumero.Text = Convert.ToString(contaSelecionada.Numero); textoSaldo.Text = Convert.ToString(contaSelecionada.Saldo); textoValor.Text = ""; textoValorTransfere.Text = ""; }

private void btnDeposito_Click(object sender, EventArgs e) { contaSelecionada.Deposita(Convert.ToDouble(textoValor.Text)); this.AtualizaDados(); }

private void btnTransfere_Click(object sender, EventArgs e) { contaSelecionada.Transfere(Convert.ToDouble(textoValorTransfere.Text), contaTransfere); this.AtualizaDados();

}

private void cboContaTransfere_SelectedIndexChanged(object sender, EventArgs e) { contaTransfere = contas[destinoDaTransferencia.SelectedIndex]; }

public void AdicionaConta(Conta conta) { if (quantidadeDeContas == contas.Length) { Array.Resize(ref contas, contas.Length + 10); } contas[quantidadeDeContas] = new Conta(); cboContas.Items.Add(conta.Titular); quantidadeDeContas++; }

private void button1_Click(object sender, EventArgs e) { CadastroContas cadContas = new CadastroContas(this); cadContas.ShowDialog();

}

private void btnApagaConta_Click(object sender, EventArgs e) { ApagaConta(contaSelecionada); }

public void ApagaConta(Conta conta) { cboContas.Items.Remove(conta); int i; for (i = 0; i < this.quantidadeDeContas; i++) { if (this.contas[i] == conta) { break; } } while (i + 1 < this.quantidadeDeContas) { this.contas[i] = this.contas[i + 1]; i++; } }

private void btnTesta_Click(object sender, EventArgs e) {

}

} }

ok ok o0k ok ok

Victor verifique o que está incluindo no seu código, se for apenas um atributo da classe você terá que indicar o mesmo caminho do atributo.