2009-05-25 5 views

Antwort

7

Sie haben zwei Möglichkeiten, die ich bin mir dessen bewusst:

1) Haben Sie eine Zeichenfolge ersetzen, nachdem Sie Ihre Ressourcen-String zu lesen: s = s.Replace ("\\ t", "\ t") ;

2) Geben Sie die Escape-Sequenz direkt in Ihre Ressourcen-Zeichenfolge zur Erstellungszeit ein, indem Sie Alt-012 (ich glaube, das ist die Registerkarte) auf der Zehnertastatur eingeben.

Artikel auf der gleichen here und here.

+0

verpassen Option 1 ist, was ich tue. – Finglas

+1

Alt-012 funktioniert nicht in VS2013, Alt-009 funktioniert nicht. – kibitzerCZ

14

Sie müssen explizit die Registerkarte hinzuzufügen. Der einfachste Weg, dies zu tun, ist wahrscheinlich die Zeichenfolge im Notizblock tippen (mit der Registerkarte explizit anstelle gesetzt eher dann Verwenden Sie ein Escape-Zeichen) und kopieren Sie den Text in den Ressourceneditor.

Sie werden ein ähnliches Problem mit Zeilenumbrüchen haben. Die einfachste Möglichkeit, sie einzufügen, besteht darin, Zeilenumbrüche explizit mit der Umschalttaste einzugeben.

+0

+1: Ja, so ziemlich der einzige logische Weg. –

+0

Notepad - der beste Freund des Programmierers! – Treb

+0

Ich habe versucht kopieren Einfügen funktioniert nicht Shift + Registerkarte arbeitete für Newline – Gady

0

Haben Sie versucht, das XML-Tab-Zeichen?

Sorry mein Tab-Zeichen wurde nicht angezeigt! Muss vom Browser aufgefressen sein.

	 
0

\ t fügt eine ASCII-Registerkarte hinzu, aber wenn Sie dies in einer HTML-Seite anzeigen, werden Sie diese Registerkarte außer in der Seitenquelle nicht sehen. HTML rendert Tabs oder neue Zeilen nicht als geschütztes Leerzeichen. Sie werden alle auf 1 Leerzeichen reduziert, wenn sie angezeigt werden. Formatieren von HTML mit Leerzeichen ist nicht zu empfehlen, das ist es, wofür div mit CSS oder gar Table steht. Wenn Sie zusätzlichen Leerraum in HTML hinzufügen müssen, verwenden Sie die & nbsp; wiederholt, aber es wird kein Tab Stop korrekt sein und wird einen Albtraum erstellen, wenn Sie jemals kopieren und einfügen.

Alternativ können Sie Ihre String-Daten in einem schreibgeschützten Textbereich anzeigen. Dies wird Ihr String-Format beibehalten. Ohne die Einzelheiten zu wissen, was Sie mit Ihrer Saite machen wollen oder wie Sie sie erstellen, sind dies die besten Vorschläge, die ich Ihnen geben kann.

Sie können auch eine Variable erstellen, aber das \ t funktioniert inline.

string TAB = char.ConvertFromUtf32(9).ToString(); 
+0

Ich denke, ich habe die Frage falsch gelesen, Sie ziehen die Zeichenfolge aus einer externen Ressource-Datei dann ja, müssen Sie entweder die Zeichenfolge ersetzen oder geben Sie die Escape-Sequenz direkt als Xiaofu angegeben. – benjamin

4

Verwenden Sie die Alt-Code für Tab (Alt + 009) Newlines werden mit Shift + Return hinzugefügt.

1) Öffnen Sie Ressourcen-Datei in VS. 2) Setzen Sie den Cursor an die gewünschte Stelle 3) Halten Sie die Alt-Taste gedrückt 4) Drücken Sie 0, 0, 9 auf der Zehnertastatur. 5) Lassen Sie Alt-Taste los.

Wenn Sie auf die Ressourcenzeichenfolge klicken, sehen Sie, dass die Registerkarten aus der Anzeige entfernt werden, seien Sie versichert, dass sie immer noch da sind. Dies kann überprüft werden, indem Sie Resources.Designer.cs öffnen und den Kommentar für die Ressourcenzeichenfolge anzeigen und den Bereich hervorheben, in dem die Registerkarte eingefügt wurde.

2

Es ist fast sechs Jahre her, seit dieser Thread zuletzt geändert wurde, und die Empfehlung, Fluchten zu verwenden, bestimmt noch immer den Tag. Für das, was es wert ist, habe ich heute früher etwas Text von einer C# -String-Konstante in den Ressourcen-String-Editor kopiert, und die Registerkarte wurde durch Leerzeichen ersetzt.Da der Code jedoch das tatsächliche Tabulatorzeichen erwartet, wurde eine InvalidOperationException ausgelöst (mein Code, meine Ausnahme!). Wiederum fiel ich auf die Registerkarte zurück und folgte den ausgezeichneten Anweisungen im DevX-Artikel "Eine andere Möglichkeit, Sequenzen in .NET-Ressourcendateien zu vermeiden", die in der zweiten Antwort in der angenommenen Antwort erwähnt werden.

Moral: Zählen Sie nicht auf die Windows-Zwischenablage, um Ihren Text originalgetreu zu kopieren.

Verwandte Themen