Fórum Transferir dados de um formulário para outro. #607031
13/12/2019
0
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
Curtir tópico
+ 0Posts
13/12/2019
Fernando Junior
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.
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
13/12/2019
William Dutra
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.
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
13/12/2019
William Dutra
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.
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
Clique aqui para fazer login e interagir na Comunidade :)