none
como acessar método do user control no form c# RRS feed

  • Pergunta

  • Boa tarde, 

    Sou iniciante em programação, e estou com uma dúvida, parece ser simples, mas ainda não consegui resolver :´(

    Tenho o Form1 (principal) e varios UserControl dentro deles, que são puchados para frente BringToFront(), de conforme aperta os botões no form principal... em uma das situações preciso que quando clico no botão do form principal, execute um metodo dentro de um user control especifico....

    Botão no Form 1

            private void btnFluxodeCaixa_Click(object sender, EventArgs e)
            {
                panelMenuAtivo.Top = btnFluxodeCaixa.Top;
                ucFluxoCaixa1.Dock = DockStyle.Fill;
                ucFluxoCaixa1.BringToFront();
                RecolheMenu();
            }

    Método do UserControl ucFluxoCaixa

            private void ListarFluxo()
            {
                FluxoBLL fluxoBLL = new FluxoBLL();
                dgFluxo.DataSource = fluxoBLL.ListarFluxo();
    
                dgFluxo.Columns[0].Width = 80;
                dgFluxo.Columns[1].AutoSizeMode = DataGridViewAutoSizeColumnMode.Fill;
                dgFluxo.Columns[2].Width = 60;
            }

    basicamente, como executar esse método ListarFluxo() ao clicar no botão do form......

      


    quarta-feira, 12 de fevereiro de 2020 15:23

Respostas

  • o negocio ai é o seguinte. Você esta criando um novo usercontrol e chamando o método nele. Você tem que chama o método no usercontrol já está instanciado, que está dentro do form
    quarta-feira, 12 de fevereiro de 2020 19:39
    Moderador

Todas as Respostas

  • olá,

    coloca ele como publico o método.

    uctrl.ListarFluxo();


    quarta-feira, 12 de fevereiro de 2020 16:39
    Moderador
  • Bah nem tinha visto que ele estava como privado, mas... coloquei ele como publico, instanciei ele o uc no form mas mesmo assim o método não executou... 

    **dei uma limpada pra ficar mais fácil de ver o que preciso....

    botão Form1:

            public void btnFluxodeCaixa_Click(object sender, EventArgs e)
            {
                ucFluxoCaixa ucFluxo = new ucFluxoCaixa();
                ucFluxo.ListarFluxo();
            }

    UserControl ucFluxo

            public void ListarFluxo()
            {
                FluxoBLL fluxoBLL = new FluxoBLL();
                dgFluxo.DataSource = fluxoBLL.ListarFluxo();
            }

    quarta-feira, 12 de fevereiro de 2020 19:32
  • o negocio ai é o seguinte. Você esta criando um novo usercontrol e chamando o método nele. Você tem que chama o método no usercontrol já está instanciado, que está dentro do form
    quarta-feira, 12 de fevereiro de 2020 19:39
    Moderador
  • Muitíssimo obrigado.... resolvido :D
    quarta-feira, 12 de fevereiro de 2020 20:09