none
Duvidas sobre windows forms: Passar dados entre forms e como ter forms reutilizaveis. RRS feed

  • Pergunta

  • Pessoal,

    Não sou lá grandes coisas com aplicações windows forms e tenho duas dúvidas de iniciante.

    Estou usando forms MDI para criar uma aplicação e já descobri como passar dados de um form pai para um form filho usando Properties, mas ainda preciso saber como fazer o caminho inverso, passar do filho para o pai.

    E gostaria de saber como fazer para criar formulários reutilizaveis, por exemplo: Sempre que o usuário quiser excluir um dado, ele receberá um questionamento se realmente deseja tal ação, caso sim, procede com a exclusão, caso contrário, não se exclui o dado. Eu poderia criar um form para cada tela, mas acredito que seria errado, então pensei em criar um form base para as mensagens e apenas passar alguns parametros para as ações, mas não tenho idéia de como fazer, alguém teria algum exemplo?

    Abraços!

    sábado, 17 de março de 2012 14:32

Respostas

  • Oi maxelmetal,

    Penso que voce apresentastou várias questões ao mesmo tempo. Mas deixa ver se respondo pelo menos uma.

    PASSAR DADOS DE FILHO PARA PAI.

    Quando voce chamar o formulário filho, voce passa o formulário pai como paramentro, assim:

    FormularioFilho frm = new FormularioFilho(this);

    frm.MdiParent = this;

    frm.Show();

    No FormularioFilho, escreva:

        public partial class FormularioFilho: Form
        {

           FormularioPai frm = null;

            public FormularioFilho(FormularioPai frm)
            {
                InitializeComponent();

                this.frm = frm

            }

          //Aqui pode vazer a festa cara. Basta escrever:

          this.frm.TextBoxDoFormularioPai.Text = "Funcionou";

        }

    Espero ter ajudado.




    • Marcado como Resposta maxelmetal sábado, 17 de março de 2012 19:41
    • Editado Augustop sábado, 17 de março de 2012 21:11
    sábado, 17 de março de 2012 17:35
  • maxelmetal,

    A outra questão penso que voce resolve assim:

     if (MessageBox.Show("Confirma a exclusão de dados?", "Atenção, a excluir dados",
                            MessageBoxButtons.YesNo,
                            MessageBoxIcon.Question,
                            MessageBoxDefaultButton.Button1) == DialogResult.No) return;

    Se o usuário clicar no botão "Não" o programa retorna. Se clicar no Botão Sim, o programa irá continuar a leitura dos códigos seguintes, no caso, irá eliminar a informação.

    Será essa a sua dúvida?

    Abrs,

    Augusto

    • Marcado como Resposta maxelmetal sábado, 17 de março de 2012 19:41
    sábado, 17 de março de 2012 17:45

Todas as Respostas

  • Oi maxelmetal,

    Penso que voce apresentastou várias questões ao mesmo tempo. Mas deixa ver se respondo pelo menos uma.

    PASSAR DADOS DE FILHO PARA PAI.

    Quando voce chamar o formulário filho, voce passa o formulário pai como paramentro, assim:

    FormularioFilho frm = new FormularioFilho(this);

    frm.MdiParent = this;

    frm.Show();

    No FormularioFilho, escreva:

        public partial class FormularioFilho: Form
        {

           FormularioPai frm = null;

            public FormularioFilho(FormularioPai frm)
            {
                InitializeComponent();

                this.frm = frm

            }

          //Aqui pode vazer a festa cara. Basta escrever:

          this.frm.TextBoxDoFormularioPai.Text = "Funcionou";

        }

    Espero ter ajudado.




    • Marcado como Resposta maxelmetal sábado, 17 de março de 2012 19:41
    • Editado Augustop sábado, 17 de março de 2012 21:11
    sábado, 17 de março de 2012 17:35
  • maxelmetal,

    A outra questão penso que voce resolve assim:

     if (MessageBox.Show("Confirma a exclusão de dados?", "Atenção, a excluir dados",
                            MessageBoxButtons.YesNo,
                            MessageBoxIcon.Question,
                            MessageBoxDefaultButton.Button1) == DialogResult.No) return;

    Se o usuário clicar no botão "Não" o programa retorna. Se clicar no Botão Sim, o programa irá continuar a leitura dos códigos seguintes, no caso, irá eliminar a informação.

    Será essa a sua dúvida?

    Abrs,

    Augusto

    • Marcado como Resposta maxelmetal sábado, 17 de março de 2012 19:41
    sábado, 17 de março de 2012 17:45
  • Cara...ambas as soluções funcionaram perfeitamente! Resolveram inclusive outras duvidas que tinha! Perfeito!

    Muito obrigado!

    sábado, 17 de março de 2012 19:42
  • maxelmental,

    Que bom que funcionou.

    Abrs

    Augusto

    sábado, 17 de março de 2012 21:08