Fórum Transferir dados de um formulário para outro. #607031

13/12/2019

0

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:

1
2
3
4
5
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?

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
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:

1
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

Responder

Posts

13/12/2019

Fernando Junior

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:

1
2
3
4
5
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?

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
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:

1
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.

Ler Mais...



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

Gostei + 0

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:

1
2
3
4
5
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?

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
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:

1
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.

Ler Mais...



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

Ler Mais...



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

Gostei + 0

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:

1
2
3
4
5
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?

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
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:

1
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.

Ler Mais...



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

Ler Mais...



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.

Ler Mais...



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

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar