Transferir dados de um formulário para outro.

MySQL

.NET

Visual Studio

C#

Windows Forms

13/12/2019

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.
William Dutra

William Dutra

Curtidas 0

Respostas

Fernando Junior

Fernando Junior

13/12/2019

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
GOSTEI 0
William Dutra

William Dutra

13/12/2019

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.

GOSTEI 0
William Dutra

William Dutra

13/12/2019

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.
GOSTEI 0
POSTAR