Как использовать \n новую строку в VB msgbox() ...?

Какая альтернатива \n (для новой строки) в MsgBox() VB.NET?

18 ответов

Решение
  • для VB: vbCrLf или же vbNewLine
  • для VB.NET: Environment.NewLine или же vbCrLf или же Constants.vbCrLf

Информация о новой строке VB.NET: http://msdn.microsoft.com/en-us/library/system.environment.newline.aspx

Информация для Environment.NewLine пришли от Cody Gray и Jens

Попробуйте использовать vbcrlf для новой строки

msgbox "This is how" & vbcrlf & "to get a new line"

Это последовательности символов для создания новой строки:

  • vbCr возврат каретки (возврат к началу строки),

  • vbLf перевод строки (перейти к следующей строке)

  • vbCrLf возврат каретки / перевод строки (аналогично нажатию Enter)

я предпочитаю vbNewLine как это не зависит от системы (vbCrLf может не быть настоящей новой строкой в ​​некоторых системах)

Использовать Environment.NewLine имущество

Добавить vbNewLine как:

"text1" & vbNewLine & "text2"

Альтернативой Environment.NewLine является использование:

Regex.Unescape("\n\tHello World\n")

из System.Text.RegularExpressions

Это позволяет вам экранировать текст без конкатенации строк, как вы можете в C#, C, Java

Правильный формат:

"text1" + vbNewLine + "text2"

Вы можете использовать Environment.NewLine ИЛИ vbCrLF ИЛИ vbNewLine

      MsgBox($"Hi!{Environment.NewLine}I'M HERE")

Используйте команду "vbNewLine"

пример

Hello & vbNewLine & "World"

будет отображаться как Hello на одной линии и World на другой

не забудьте установить для свойства Multiline значение true в текстовом поле

Module MyHelpers
    <Extension()>
    Public Function UnEscape(ByVal aString As String) As String

       Return Regex.Unescape(aString)

    End Function
End Module

Использование:

console.writeline("Ciao!\n".unEscape)

Со своей стороны я создал подпрограмму MyMsgBox, заменив \n в приглашении ControlChars.NewLine

msgbox "This is the first line" & vbcrlf & "and this is the second line"

или в.NET msgbox "This is the first line" & Environment.NewLine & "and this is the second line"

Вы можете использовать символ возврата каретки (Chr(13)), символ перевода строки (Chr(10)) также как

MsgBox "Message Name: " & objSymbol1.Name & Chr(13) & "Value of BIT-1: " & (myMessage1.Data(1)) & Chr(13) & "MessageCount: " & ReceiveMessages.Count

Многое из вышеперечисленного не работает для меня. Что в итоге получилось

Chr(13)

Эта работа для меня:MessageBox.Show("YourString" & vbcrlf & "YourNewLineString")

Окно сообщения должно заканчиваться текстом, а не переменной

msgbox("ваш текст здесь" & Environment.NewLine & "больше текста") - самый простой способ. нет смысла делать ваш код сложнее или сложнее, чем нужно...

Другие вопросы по тегам