Tabstopp in der C # -Ressourcendatei

8

Wie füge ich einen TAB (\ t) zu einer String-Ressource hinzu?

"\ tText" funktioniert nicht

    
Gady 25.05.2009, 15:27
quelle

6 Antworten

7

Sie haben zwei Möglichkeiten, die mir bekannt sind:

1) Ersetzen Sie eine Zeichenfolge nach dem Lesen Ihrer Ressourcenzeichenfolge: s = s.Replace ("\\ t", "\ t");

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

Artikel auf demselben hier und hier .

    
Xiaofu 25.05.2009, 15:42
quelle
14

Sie müssen die Registerkarte explizit hinzufügen. Dies geschieht am einfachsten, indem Sie die Zeichenfolge im Editor eingeben (wobei die Registerkarte explizit festgelegt wird und dann ein Escape-Zeichen verwendet) und den Text kopieren und in die Datei einfügen Ressourceneditor.

Sie werden ein ähnliches Problem mit Zeilenumbrüchen haben. Die einfachste Möglichkeit, sie einzufügen, besteht darin, Zeilenumbrüche explizit erneut einzufügen, indem Sie die Umschalttaste-Eingabetaste verwenden.

    
jpoh 25.05.2009 15:39
quelle
4

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

1) Öffnen Sie die Ressourcendatei in VS. 2) Setzen Sie den Cursor an die Stelle, an der das Tab-Zeichen stehen soll 3) Halten Sie die Alt-Taste gedrückt 4) Drücken Sie 0, 0, 9 auf dem Ziffernblock. 5) Lass 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.

    
Y0rk1e 22.03.2013 15:22
quelle
2

Es ist fast sechs Jahre her, seit dieser Thread zuletzt geändert wurde, und die Empfehlung, Fluchten zu verwenden, bestimmt immer noch 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.

    
David A. Gray 22.09.2014 20:27
quelle
0

Haben Sie das XML-Tab-Zeichen ausprobiert?

Entschuldigung, dass mein Tab-Zeichen nicht angezeigt wurde! Muss vom Browser aufgefressen worden sein.

%Vor%     
joshcomley 25.05.2009 15:40
quelle
0

\ t fügt einen ASCII-Tab hinzu, aber wenn Sie diesen in einer HTML-Seite anzeigen, sehen Sie diesen Tab außer in der Seitenquelle nicht. 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 den Befehl & amp; nbsp; wiederholt, aber es wird nicht Tabstopp 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.

%Vor%     
benjamin 25.05.2009 19:14
quelle

Tags und Links