none
Como atribuir TopMost para MsgBox? RRS feed

  • Pergunta

  • Olá pessoal,

    Num certo momento, meu MsgBox fica por trás de um Form.

    Que comando devo utilizar para que MsgBox fique por cima deste Form?

    Sei como atribuir TopMost para form mas, não sei como fazer o mesmo para MsgBox....

    Obrigado,

    terça-feira, 28 de outubro de 2014 12:34

Respostas

  • Veja se assim funciona:

    form.Invoke(DirectCast(Sub() MessageBox.show(form, "Mensagem", "Titulo"), MethodInvoker))
    Onde form é a instância do form que esta usando.


    Fonte: http://msdn.microsoft.com/en-US/library/system.windows.forms.messagebox.show%28v=vs.80%29.aspx
    • Editado Mr. GMSOFT terça-feira, 28 de outubro de 2014 12:54
    • Sugerido como Resposta Mr. GMSOFT terça-feira, 28 de outubro de 2014 12:54
    • Marcado como Resposta Marcos SJ quinta-feira, 17 de setembro de 2015 17:47
    terça-feira, 28 de outubro de 2014 12:53
  • 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

    • Marcado como Resposta Marcos SJ quinta-feira, 17 de setembro de 2015 17:47
    domingo, 28 de junho de 2015 15:00

Todas as Respostas

  • Fica dessa forma:

    MessageBox.Show(Me, "Mensagem")


    Se te ajudou marca como resposta

    • Editado Mr. GMSOFT terça-feira, 28 de outubro de 2014 12:41
    • Sugerido como Resposta Mr. GMSOFT terça-feira, 28 de outubro de 2014 12:41
    terça-feira, 28 de outubro de 2014 12:40
  • Não funcionou.

    Na verdade, neste Form em questão está atribuido com TopMost. Então, creio que precisaria de um comando para que MsgBox fique por cima deste Form.

    Isso eu não sei fazer...

    terça-feira, 28 de outubro de 2014 12:46
  • Segue uma referência interessante:

    To show the MessageBox on top-most of all for the application

    Code

    //Should be MessageBox.Show() below
    MessageBox.Show(this, "My top most message");

    Reason for not being MB_TOPMOST by default

    If MB_TOPMOST will be default then the MessageBox will show up in a 'system modal' mode and it will be exactly on top on that form and side effects are that the 'system modal' mode will cause the MessageBox to Block the windows until the message is dismissed normally it will be 'application modal' mode.

    Reference links

    1. MSDN forum - How to display a MessageBox as topmost window
    2. SO - C# MessageBox To Front When App is Minimized To Tray

    http://stackoverflow.com/questions/16105097/why-isnt-messagebox-topmost

    • Sugerido como Resposta Deric Ferreira terça-feira, 28 de outubro de 2014 12:48
    terça-feira, 28 de outubro de 2014 12:48
  • Veja se assim funciona:

    form.Invoke(DirectCast(Sub() MessageBox.show(form, "Mensagem", "Titulo"), MethodInvoker))
    Onde form é a instância do form que esta usando.


    Fonte: http://msdn.microsoft.com/en-US/library/system.windows.forms.messagebox.show%28v=vs.80%29.aspx
    • Editado Mr. GMSOFT terça-feira, 28 de outubro de 2014 12:54
    • Sugerido como Resposta Mr. GMSOFT terça-feira, 28 de outubro de 2014 12:54
    • Marcado como Resposta Marcos SJ quinta-feira, 17 de setembro de 2015 17:47
    terça-feira, 28 de outubro de 2014 12:53
  • E ai funcionou?
    segunda-feira, 3 de novembro de 2014 19:58
  • 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

    • Marcado como Resposta Marcos SJ quinta-feira, 17 de setembro de 2015 17:47
    domingo, 28 de junho de 2015 15:00
  • faça assim.

    MsgBox("Mensagem", 262144, Title:="Titulo")
    favor moderação  marca como resposta
    • Editado fatasy terça-feira, 30 de junho de 2015 15:47
    terça-feira, 30 de junho de 2015 15:45