none
Como quebrar linha no MsgBox?

    Pergunta

  • Olá, meus amigos.

    Preciso de uma dica:
    Quero escrever uma mensagem no MsgBox, quero separar duas sentenças (linha).

    Por ex. "Hoje é Domingo. Está muito frio"

    Quero que apareçam separadas:

    "Hoje é Domingo"
    "Está muito frio"

    Obrigado,

    sexta-feira, 27 de agosto de 2010 16:48

Respostas

Todas as Respostas

  • assim : MessageBox.Show( "Menssagem 1"+ vbCrLf + "Menssagem na linha de baixo" )

    abs

    sexta-feira, 27 de agosto de 2010 16:53
  • sexta-feira, 27 de agosto de 2010 17:02
  • msgbox("Hoje é domingo" & _
                 "Está muito frio" & _
                 "e sei lá")
    BN ;D
    sexta-feira, 27 de agosto de 2010 17:24
  • Assim como já postaram, vbCrLf indica quebra-de-linha em string. (ASCII 13)

    Também é válido o uso de: Environment.NewLine

     

    Ou no caso para poupar trabalho de repetir a soma você pode fazer o seguinte:

    MessageBox.Show("Linha1\n Linha2\n Linha3".Replace("\n ", vbCrLf))

     

    Neste caso utilizei um caractere delimitador para nova linha (\n) e ao final da string, executei o Replace para substituir todas as ocorrências de "\n" pelo caractere de quebra-de-linha.

     

    sábado, 28 de agosto de 2010 04:52
  • Pessoal...

    Obrigado pelas dicas!

    sábado, 28 de agosto de 2010 13:12
  • não esta dando certo no meu  comando  olha ai

    Call MsgBox("Boa Tarde! A PAZ DO  SENHOR JESUS.  Hoje é " & Date, vbExclamation, "SISTIG")

    quarta-feira, 30 de agosto de 2017 15:54
  • colega não esta dando certo no  meu  código a quebra de linha

     olha ai

    Call MsgBox("Boa Tarde! A PAZ DO  SENHOR JESUS.  Hoje é " & Date, vbExclamation, "SISTIG")

    quarta-feira, 30 de agosto de 2017 15:55
  • A forma correta de fazer isso é usando o método Format da Classe String
    Strings não são performáticas durante concatenações pois são objetos imutáveis.
    Isso significa que cada vez que vc concatena uma string, o objeto atual tem que ser destruído e um novo é criado.
    A classe StringBuilder resolve o problema de performance.
    O metodo String.Format usa  o metodo StringBuilder.Append() para melhorar a performance da concatenação.

    Para quebrar a linha em uma string, deve-se concatenar com um caractere de quebra de linha.
    Existe alguns:
    vbCrLf, vbNewLine, Environment.NewLine
    Basicamente são todos a mesma coisa: "\r\n" para S.O não Unix e ou "\n" para S.O Unix

    Eu particularmente prefiro usar Environment.NewLine por ser melhor para ler.

    MessageBox.Show(String.Format("{0}{1}{2}", "Primeira string", Environment.NewLine, "Segunda string"))
    Resultado:
    Primeira string
    Segunda string

    O legal de usar String.Format é que este metodo permite vc fazer isso:

    MessageBox.Show(String.Format("{0}{3}{1}{3}{2}", "Primeira string", "Segunda string", "Terceira String", Environment.NewLine))
    Resultado:
    Primeira string
    Segunda string
    Terceira String

    Veja que usei new line em varios lugares e adicionei apenas uma vez no array de parâmetros.

    Os numeros entre chaves indicam o indices do array que formará a string.
    Ex: se tiver que concatenar 4 strings  os indices ficarão assim: "{0}{1}{2}{3}"
    O metodo Format da classe String  substitui estes indices por cada paramentro passado.
    Se vc criar 4 indices, terá que passar 4 strings como parametro alem da string que contem os indices. 

    Ex:
    Contatenar a string "Hoje é" +  DateTime.Now

    String.Format("{0} {1}", "Hoje é", DateTime.Now.ToString())
    Isso retorna a string Hoje é 30/08/2017 14:08:00

    quarta-feira, 30 de agosto de 2017 17:32