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

Não Estou Conseguindo fazer o exercício - Aula 4 - Mão na Massa - Formulários

Boa Tarde, Estou tentando realizar o exercício 1 da aula 4 mas estou tendo problemas. Tentei fazer o código o mais simples possível, conforme resolução proposta, porem ao compilar os itens do meu segundo formulário simplesmente não aparecem. Meu código ficou assim:

namespace Formulario
{
    public class Conta
    {
        public Conta()
        {
        }

        public int Numero { get; set; }

        public double Saldo { get; private set; }

        public string Titular { get; set; }

        public void Deposita(double Valor)
        {
            this.Saldo+= Valor;
        }

        internal void Saca(double Valor)
        {
           this.Saldo-=Valor;
        }
    }
}

namespace Formulario
{
    public partial class Form1 : Form
    {
        private Conta[] contas;
        private int numeroDeContas;

        public Form1()
        {
            InitializeComponent();
        }

        private void button1_Click(object sender, EventArgs e)
        {
            CadastroDeContas cadastro = new CadastroDeContas(this);
            cadastro.ShowDialog();
        }

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

        private void Form1_Load(object sender, EventArgs e)
        {
            contas = new Conta[20];

        }
    }
}

  namespace Formulario
{
    public partial class CadastroDeContas : Form
    {
        private Form1 aplicacaoPrincipal;

        public CadastroDeContas(Form1 aplicacaoPrincipal)
        {
            this.aplicacaoPrincipal = aplicacaoPrincipal;
        }

        private void button1_Click(object sender, EventArgs e)
        {
            Conta c = new Conta();
            c.Numero = Convert.ToInt32(numeroConta.Text);
            c.Titular = titularConta.Text;
            this.aplicacaoPrincipal.AdicionaConta(c);
        }
    }
}

Conforme informado anteriormente, quando roda a aplicação, simplesmente não aparece nada no segundo formulário. Desde já agradeço a atenção.

3 respostas
solução!

Olá Wesley,

Quando fazemos um formulário no C#, para que ele seja exibido na tela também precisamos invocar o método InitializeComponent() no construtor da classe. Note que o construtor da classe CadastroDeContas, que representa o segundo formulário, não chama este método. Veja se adicionando uma chamada para esse método faz com que os campos no formulário sejam exibidos.

Olá Lucas, Obrigado pela sua resposta, coloquei o método que estava faltando conforme você indicou e o segundo formulário apareceu sem problemas. Consegui terminar o exercício, muito obrigado novamente.

Olá Wesley,

que bom que funcionou e você conseguiu terminar o exercício =]. Por favor, marque depois a resposta como a solução para indicar que o sua dúvida foi resolvida. Abraços.