none
Referência de objeto não definida para uma instância de um objeto. RRS feed

  • Pergunta

  • Pessoal, alguém sabe a origem da mensagem abaixo?

    Segue o código.

    using System;
    using System.Collections.Generic;
    using System.ComponentModel;
    using System.Data;
    using System.Drawing;
    using System.Linq;
    using System.Text;
    using System.Windows.Forms;
    
    namespace Calculadora_II
    {
        public partial class Form1 : Form
        {
            double TotalFinal;
            double UltimoNumeroDigitado;
            string OperaçãoSelecionada;
    
            public void Limpar()
            {
                TotalFinal = 0;
                UltimoNumeroDigitado = 0;
                OperaçãoSelecionada = "+";
                mtbResultado.Text = "0";
            }
    
            public Form1()
            {
                //Incialização das Variáveis
                
                Limpar();
    
                InitializeComponent();
            }
    
            private void btLimpar_Click(object sender, EventArgs e)
            {
                Limpar();
            }
    
            private void btNumero(object sender, EventArgs e)
            {
                mtbResultado.Text = mtbResultado.Text + (sender as Button).Text;
            }
        }
    }
    

    quinta-feira, 16 de maio de 2013 04:48

Respostas

  • Olá,

    Vc não pode colocar instruções antes do "InitializeComponent", o construtor deve ficar assim:

    public Form1()
    {
        InitializeComponent();
    
        //Incialização das Variáveis
        Limpar();
    }

    Cumpz, ADAE.

    • Marcado como Resposta Leandro.Nares quinta-feira, 16 de maio de 2013 15:45
    quinta-feira, 16 de maio de 2013 10:28

Todas as Respostas

  • Olá,

    Vc não pode colocar instruções antes do "InitializeComponent", o construtor deve ficar assim:

    public Form1()
    {
        InitializeComponent();
    
        //Incialização das Variáveis
        Limpar();
    }

    Cumpz, ADAE.

    • Marcado como Resposta Leandro.Nares quinta-feira, 16 de maio de 2013 15:45
    quinta-feira, 16 de maio de 2013 10:28
  • Bom dia Leandro, seu erro é que esta inicializando os componentes depois da chamada do método, é só inverter

    using System;
    using System.Collections.Generic;
    using System.ComponentModel;
    using System.Data;
    using System.Drawing;
    using System.Linq;
    using System.Text;
    using System.Windows.Forms;

    namespace Calculadora_II
    {
        public partial class Form1 : Form
        {
            double TotalFinal;
            double UltimoNumeroDigitado;
            string OperaçãoSelecionada;

            public void Limpar()
            {
                TotalFinal = 0;
                UltimoNumeroDigitado = 0;
                OperaçãoSelecionada = "+";
                mtbResultado.Text = "0";
            }

            public Form1()
            {
                //Incialização das Variáveis
                InitializeComponent(); O ERRO ESTAVA AQUI, VOCÊ ESTAVA CHAMANDO O MÉTODO SEM INICIALIZAR OS COMPONENTES, SÓ INVERTER A POSICAO
               
                Limpar();
               
               
            }

            private void btLimpar_Click(object sender, EventArgs e)
            {
                Limpar();
            }

            private void btNumero(object sender, EventArgs e)
            {
                mtbResultado.Text = mtbResultado.Text + (sender as Button).Text;
            }
        }
    }

    Se a Resposta foi útil, por favor, qualificar, Obrigado.

    quinta-feira, 16 de maio de 2013 10:36