Transferir dados de um formulário para outro.

13/12/2019

8

Boa tarde,

Tenho 2 formulários, um de cadastro e um de consulta, que estão conectados em um banco MYSQL.

No formulário de cadastro, tenho um botão que chama o formulário de consulta.

No formulário de consulta tenho um listview com as informações e um botão carregar.

Esse botão Carregar, pega o ID da linha selecionada no listview e deveria fechar o formulário de consulta e chamar o formulário de cadastro, com o textbox ID preenchido.

Porem não estou aplicar essa teoria.

Formulário de cadastro, no botão consultar, faço a seguinte chamada:

private void Btn_pesquisar_Click(object sender, EventArgs e)
        {
            frm_pesquisar PESQUISA = new frm_pesquisar(this, tb_id);
            PESQUISA.Show();
        }


passando ele mesmo como formulário e o campo que ira receber o ID.

Ja no formulário de pesquisa, quando clico no botão carregar?

        Form f;
        TextBox t;

        private void Btn_carregar_Click(object sender, EventArgs e)
        {
            if (lv_dados.SelectedItems.Count > 0)
            {             
                    if (lv_dados.SelectedItems[0].SubItems[0].Text != string.Empty)
                    {
                        CLS_GLOBAIS.grupo_selecionado = lv_dados.SelectedItems[0].SubItems[0].Text;

                        f.Controls[t.Name].Text = CLS_GLOBAIS.status_selecionado;

                        this.Close();
                    }
               }
           }



Porem o visual studio retorna:

System.NullReferenceException: 'Referência de objeto não definida para uma instância de um objeto.'


Não sei se essa é a melhor forma, se alguém puder me ajudar.
Responder

Posts

Boa tarde,

Tenho 2 formulários, um de cadastro e um de consulta, que estão conectados em um banco MYSQL.

No formulário de cadastro, tenho um botão que chama o formulário de consulta.

No formulário de consulta tenho um listview com as informações e um botão carregar.

Esse botão Carregar, pega o ID da linha selecionada no listview e deveria fechar o formulário de consulta e chamar o formulário de cadastro, com o textbox ID preenchido.

Porem não estou aplicar essa teoria.

Formulário de cadastro, no botão consultar, faço a seguinte chamada:

private void Btn_pesquisar_Click(object sender, EventArgs e)
        {
            frm_pesquisar PESQUISA = new frm_pesquisar(this, tb_id);
            PESQUISA.Show();
        }


passando ele mesmo como formulário e o campo que ira receber o ID.

Ja no formulário de pesquisa, quando clico no botão carregar?

        Form f;
        TextBox t;

        private void Btn_carregar_Click(object sender, EventArgs e)
        {
            if (lv_dados.SelectedItems.Count > 0)
            {             
                    if (lv_dados.SelectedItems[0].SubItems[0].Text != string.Empty)
                    {
                        CLS_GLOBAIS.grupo_selecionado = lv_dados.SelectedItems[0].SubItems[0].Text;

                        f.Controls[t.Name].Text = CLS_GLOBAIS.status_selecionado;

                        this.Close();
                    }
               }
           }



Porem o visual studio retorna:

System.NullReferenceException: 'Referência de objeto não definida para uma instância de um objeto.'


Não sei se essa é a melhor forma, se alguém puder me ajudar.


Acho que o código postado é insuficiente para ajudar, mas me parece que você apenas declarou dois objetos f do tipo Form e t do tipo TextBox, mas esqueceu de instanciá-los.

Form f = new Form("Formulário de Cadastro");
TextBox t = new TextBox();

Se é uma aplicação desktop por que você não está usando o recurso drag and drop do Visual Studio?

Boa sorte. Fernando
Responder

13/12/2019

William Dutra

Boa tarde,

Tenho 2 formulários, um de cadastro e um de consulta, que estão conectados em um banco MYSQL.

No formulário de cadastro, tenho um botão que chama o formulário de consulta.

No formulário de consulta tenho um listview com as informações e um botão carregar.

Esse botão Carregar, pega o ID da linha selecionada no listview e deveria fechar o formulário de consulta e chamar o formulário de cadastro, com o textbox ID preenchido.

Porem não estou aplicar essa teoria.

Formulário de cadastro, no botão consultar, faço a seguinte chamada:

private void Btn_pesquisar_Click(object sender, EventArgs e)
        {
            frm_pesquisar PESQUISA = new frm_pesquisar(this, tb_id);
            PESQUISA.Show();
        }


passando ele mesmo como formulário e o campo que ira receber o ID.

Ja no formulário de pesquisa, quando clico no botão carregar?

        Form f;
        TextBox t;

        private void Btn_carregar_Click(object sender, EventArgs e)
        {
            if (lv_dados.SelectedItems.Count > 0)
            {             
                    if (lv_dados.SelectedItems[0].SubItems[0].Text != string.Empty)
                    {
                        CLS_GLOBAIS.grupo_selecionado = lv_dados.SelectedItems[0].SubItems[0].Text;

                        f.Controls[t.Name].Text = CLS_GLOBAIS.status_selecionado;

                        this.Close();
                    }
               }
           }



Porem o visual studio retorna:

System.NullReferenceException: 'Referência de objeto não definida para uma instância de um objeto.'


Não sei se essa é a melhor forma, se alguém puder me ajudar.


Acho que o código postado é insuficiente para ajudar, mas me parece que você apenas declarou dois objetos f do tipo Form e t do tipo TextBox, mas esqueceu de instanciá-los.

Form f = new Form("Formulário de Cadastro");
TextBox t = new TextBox();

Se é uma aplicação desktop por que você não está usando o recurso drag and drop do Visual Studio?

Boa sorte. Fernando


Olá Fernando, obrigado pela resposta.

Achei que seria o suficiente, pois demais códigos são relacionados a configurações de tela e conexão com o banco, achei não ser relevante já que o erro ocorre no código informado.

Vou verificar o recurso drag and drop do Visual Studio, não o conhecia.

Responder

13/12/2019

William Dutra

Boa tarde,

Tenho 2 formulários, um de cadastro e um de consulta, que estão conectados em um banco MYSQL.

No formulário de cadastro, tenho um botão que chama o formulário de consulta.

No formulário de consulta tenho um listview com as informações e um botão carregar.

Esse botão Carregar, pega o ID da linha selecionada no listview e deveria fechar o formulário de consulta e chamar o formulário de cadastro, com o textbox ID preenchido.

Porem não estou aplicar essa teoria.

Formulário de cadastro, no botão consultar, faço a seguinte chamada:

private void Btn_pesquisar_Click(object sender, EventArgs e)
        {
            frm_pesquisar PESQUISA = new frm_pesquisar(this, tb_id);
            PESQUISA.Show();
        }


passando ele mesmo como formulário e o campo que ira receber o ID.

Ja no formulário de pesquisa, quando clico no botão carregar?

        Form f;
        TextBox t;

        private void Btn_carregar_Click(object sender, EventArgs e)
        {
            if (lv_dados.SelectedItems.Count > 0)
            {             
                    if (lv_dados.SelectedItems[0].SubItems[0].Text != string.Empty)
                    {
                        CLS_GLOBAIS.grupo_selecionado = lv_dados.SelectedItems[0].SubItems[0].Text;

                        f.Controls[t.Name].Text = CLS_GLOBAIS.status_selecionado;

                        this.Close();
                    }
               }
           }



Porem o visual studio retorna:

System.NullReferenceException: 'Referência de objeto não definida para uma instância de um objeto.'


Não sei se essa é a melhor forma, se alguém puder me ajudar.


Acho que o código postado é insuficiente para ajudar, mas me parece que você apenas declarou dois objetos f do tipo Form e t do tipo TextBox, mas esqueceu de instanciá-los.

Form f = new Form("Formulário de Cadastro");
TextBox t = new TextBox();

Se é uma aplicação desktop por que você não está usando o recurso drag and drop do Visual Studio?

Boa sorte. Fernando


Olá Fernando, obrigado pela resposta.

Achei que seria o suficiente, pois demais códigos são relacionados a configurações de tela e conexão com o banco, achei não ser relevante já que o erro ocorre no código informado.

Vou verificar o recurso drag and drop do Visual Studio, não o conhecia.



O pouco que olhei, não entendi no que a drag and drop, pode me ajudar.
Responder

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários. Para saber mais sobre o uso de cookies,
consulte nossa política de privacidade. Ao continuar navegando em nosso site, você concorda com a nossa política.

Aceitar