none
Padronizar MessageBox em C# RRS feed

  • Pergunta

  • Boa noite pessoal,

    Criei uma classe denominada Functions, e nela estou colocando as funções padrões que utilizo, atualmente estou desenvolvendo um projeto em windows forms com c#, acontece que nao consigo chamar o messagebox dentro de uma classe, como que vocês fazem isto ? Como fazem esta padronização ?

    segunda-feira, 18 de maio de 2015 00:40

Todas as Respostas

  • Matheus, essa sua classe está em um projeto separado do projeto windows form? Caso seja verdadeiro, você precisa adicionar as referênicas windows forms pra esse projeto e daí, trabalhar com o messagebox.

    segunda-feira, 18 de maio de 2015 01:49
  • Basta adicionar a referencia do System.Windows.Forms em seu projeto de classe que funciona.

    GTSA vantagem de ser inteligente é que podemos fingir que somos imbecis enquanto ao contrario é completamente impossivel

    • Sugerido como Resposta Poliana Dias segunda-feira, 4 de janeiro de 2016 20:07
    segunda-feira, 18 de maio de 2015 01:57
  • Matheus,

    Também utilizo de uma classe chamada functions, porém não adiciono a referência System.Windows.Forms pela premissa de que essas functions não são exclusivas da camada VIEW/UI.

    Pense na classe functions como envio de retornos somente dos resultados das funções ou dos throws Exceptions.

    Para o caso das MessageBox para WindosForms eu criei uma classe FormFunctions que aí sim, nessa eu tenho as funções específicas que tratam controls, messageBox e qualquer outro componente específico para a View para Desktop.

    Espero ter contribuído.


    Natan

    segunda-feira, 18 de maio de 2015 13:42
  • Se for apenas uma classe e dentro dela tem um método que exibe essa mensagem pode definir o método como static, exemplo:

    public static void mensagemErro(string i_texto)
    {
           MessageBox.Show(i_texto, "Erro", MessageBoxButtons.OK, MessageBoxIcon.Error);
    }

    Quando for chamar o método é só fazer:

    Funcoes.mensagemErro("Texto da mensagem");

    Não precisa instanciar nada, é só chamar o método direto.

    segunda-feira, 18 de maio de 2015 14:07
  • Se for uma classe interna de um projeto Windows forms sim, mais sim for Class Library isso não funciona.

    GTSA vantagem de ser inteligente é que podemos fingir que somos imbecis enquanto ao contrario é completamente impossivel

    segunda-feira, 18 de maio de 2015 14:10
  • Isso. Se for Class Library só precisa fazer referencia no projeto que vai usar a classe e tem que deixar a mensagem como Public.
    segunda-feira, 18 de maio de 2015 14:16
  • Voce pode usa o messagebox do Visual Basic.not 


    A flower cannot blossom without sunshine, and man cannot live without love.

    segunda-feira, 18 de maio de 2015 17:06
    Moderador
  • Caso tenha conseguido a solução finalize sua Thread marcando a resposta

    GTSA vantagem de ser inteligente é que podemos fingir que somos imbecis enquanto ao contrario é completamente impossivel

    domingo, 28 de junho de 2015 14:05