Nicht vbCrLffür VB.NET-Code verwenden! Dies dient nur der Kompatibilität mit portierten VB 6-Anwendungen. Sie sollten Environment.NewLinestattdessen verwenden, wie in der Antwort von J. Vermeire vorgeschlagen.
Cody Gray
Ich stimme Ihnen zu, dass Environment.NewLine verwendet werden sollte, aber weil es plattformübergreifend ist. Es gibt \ r \ n für Windows zurück, aber nur \ n für Unix / Linux-basierte Plattformen.
Fun Mun Pieng
Ja, das ist ein sehr guter Grund, es zu benutzen. Angesichts der Tatsache, dass alternative Implementierungen der CLR (wie Mono) VB.NET unterstützen, ist es eine gute Idee, Code mit Blick auf die Plattformunabhängigkeit zu schreiben. Darüber hinaus ist es immer eine gute Idee, Standard-.NET Framework-Redewendungen anstelle von Holdovers aus Gründen der Abwärtskompatibilität zu verwenden. Der größte Fehler, den ein VB.NET-Programmierer machen wird, ist die Annahme, dass es dieselbe Sprache wie VB 6 ist. Dies ist ausdrücklich nicht der Fall! Die wahre Objektorientierung kratzt nur die Oberfläche der Unterschiede. Anders zu tun ist, sich selbst Unrecht zu tun.
Cody Gray
2
Abstimmung abstimmen, weil es bei mir nicht funktioniert. Wenn Sie EditPoint.Insert (vbNewLine) in einem VB-Makro aufrufen, wird \ r \ n eingefügt. vbLf ist die richtige Antwort auf die gestellte Frage.
Samuel
25
Versuchen Sie es mit vbcrlfeiner neuen Zeile
msgbox "This is how" & vbcrlf & "to get a new line"
Das Beispiel wird geschätzt, weil ich nicht mit VB arbeite und das Verkettungsformat nicht kenne. Sie werden offensichtlich nicht in doppelten Anführungszeichen interpretiert.
Tim Morton
23
Dies sind die Zeichenfolgen zum Erstellen einer neuen Zeile:
vbCr ist der Wagenrücklauf (Rückkehr zum Zeilenanfang),
vbLf ist der Zeilenvorschub (zur nächsten Zeile gehen)
vbCrLf ist der Wagenrücklauf / Zeilenvorschub (ähnlich wie beim Drücken der Eingabetaste)
Ich bevorzuge es, vbNewLineda es systemunabhängig ist ( vbCrLfauf einigen Systemen möglicherweise keine echte neue Linie)
@ Andrew - während meiner College-Tage, als ich in vb programmiere
Pranay Rana
1
Theoretisch hast du wohl recht. Aber in jeder Implementierung, die ich gesehen habe, vbNewLinewird einfach definiert als vbCrLf. Es gibt keinen Unterschied.
Cody Gray
Ich würde nichts ändern. Ich stimme dir so zu wie es ist. Ich denke vbNewLine, drückt Ihre Absicht klarer aus. Es wurde offensichtlich entworfen , um eine neue Zeile einzufügen. Ich habe nur einen Hilfskommentar geliefert. "Unter der Haube" machen sie das Gleiche. Solche Implementierungsdetails sollten nicht in Ihren Code gelangen.
msgbox ("Ihr Text hier" & Environment.NewLine & "mehr Text") ist der einfachste Weg. Es macht keinen Sinn, Ihren Code schwieriger oder komplizierter zu machen, als Sie es brauchen ...
Ihre Antwort ( Environment.NewLine) wurde bereits vor 3 Jahren gegeben und ist die am höchsten bewertete Antwort. Dies ist eher ein Kommentar. Um einen Autor zu kritisieren oder um Klärung zu bitten, hinterlassen Sie einen Kommentar unter seinem Beitrag. Sie können jederzeit Ihre eigenen Beiträge kommentieren. Sobald Sie einen ausreichenden Ruf haben, können Sie jeden Beitrag kommentieren.
Antworten:
vbCrLf
odervbNewLine
Environment.NewLine
odervbCrLf
oderConstants.vbCrLf
Informationen zur neuen VB.NET-Zeile: http://msdn.microsoft.com/en-us/library/system.environment.newline.aspx
Die Informationen für
Environment.NewLine
kamen von Cody Gray und J Vermeirequelle
vbCrLf
für VB.NET-Code verwenden! Dies dient nur der Kompatibilität mit portierten VB 6-Anwendungen. Sie solltenEnvironment.NewLine
stattdessen verwenden, wie in der Antwort von J. Vermeire vorgeschlagen.Versuchen Sie es mit
vbcrlf
einer neuen Zeilemsgbox "This is how" & vbcrlf & "to get a new line"
quelle
Dies sind die Zeichenfolgen zum Erstellen einer neuen Zeile:
vbCr
ist der Wagenrücklauf (Rückkehr zum Zeilenanfang),vbLf
ist der Zeilenvorschub (zur nächsten Zeile gehen)vbCrLf
ist der Wagenrücklauf / Zeilenvorschub (ähnlich wie beim Drücken der Eingabetaste)Ich bevorzuge es,
vbNewLine
da es systemunabhängig ist (vbCrLf
auf einigen Systemen möglicherweise keine echte neue Linie)quelle
vbNewLine
wird einfach definiert alsvbCrLf
. Es gibt keinen Unterschied.vbNewLine
, drückt Ihre Absicht klarer aus. Es wurde offensichtlich entworfen , um eine neue Zeile einzufügen. Ich habe nur einen Hilfskommentar geliefert. "Unter der Haube" machen sie das Gleiche. Solche Implementierungsdetails sollten nicht in Ihren Code gelangen.Verwenden Sie die
Environment.NewLine
Eigenschaftquelle
vbCrLf
/vbNewLine
Unsinn, es sei denn, Sie verwenden VB 6.Fügen Sie ein
vbNewLine
as hinzu:"text1" & vbNewLine & "text2"
quelle
Eine Alternative zu Environment.NewLine ist die Verwendung von:
Regex.Unescape("\n\tHello World\n")
von System.Text.RegularExpressions
Auf diese Weise können Sie Text ohne Verkettung von Zeichenfolgen maskieren, wie dies in C #, C, Java möglich ist
quelle
Das richtige Format ist:
"text1" + vbNewLine + "text2"
quelle
Verwenden Sie den Befehl "vbNewLine"
Beispiel
Hello & vbNewLine & "World"
wird in einer Zeile als Hallo und in einer anderen als Welt angezeigt
quelle
Sie können das Wagenrücklaufzeichen (Chr (13)) verwenden, ein Zeilenvorschubzeichen (Chr (10)) ebenfalls
MsgBox "Message Name: " & objSymbol1.Name & Chr(13) & "Value of BIT-1: " & (myMessage1.Data(1)) & Chr(13) & "MessageCount: " & ReceiveMessages.Count
quelle
Module MyHelpers <Extension()> Public Function UnEscape(ByVal aString As String) As String Return Regex.Unescape(aString) End Function End Module
Verwendung:
console.writeline("Ciao!\n".unEscape)
quelle
Auf meiner Seite habe ich eine Sub-MyMsgBox erstellt, die \ n in der Eingabeaufforderung von ControlChars.NewLine ersetzt
quelle
Viele der oben genannten Dinge haben bei mir nicht funktioniert. Was am Ende funktioniert hat, ist
Chr(13)
quelle
msgbox "This is the first line" & vbcrlf & "and this is the second line"
oder in .NET
msgbox "This is the first line" & Environment.NewLine & "and this is the second line"
quelle
Diese Arbeit für mich:
MessageBox.Show("YourString" & vbcrlf & "YourNewLineString")
quelle
Das Meldungsfeld muss mit einem Text und nicht mit einer Variablen enden
quelle
msgbox ("Ihr Text hier" & Environment.NewLine & "mehr Text") ist der einfachste Weg. Es macht keinen Sinn, Ihren Code schwieriger oder komplizierter zu machen, als Sie es brauchen ...
quelle
Environment.NewLine
) wurde bereits vor 3 Jahren gegeben und ist die am höchsten bewertete Antwort. Dies ist eher ein Kommentar. Um einen Autor zu kritisieren oder um Klärung zu bitten, hinterlassen Sie einen Kommentar unter seinem Beitrag. Sie können jederzeit Ihre eigenen Beiträge kommentieren. Sobald Sie einen ausreichenden Ruf haben, können Sie jeden Beitrag kommentieren.