2009-05-25 15 views

Odpowiedz

7

Masz dwie opcje, które ja znam:

1) Czy ciąg zastąpić po przeczytaniu swój ciąg zasobu: s = s.Replace ("\\ t", "\ t") ;

2) Wpisz sekwencję ucieczki bezpośrednio do łańcucha zasobów w czasie tworzenia, wpisując Alt-012 (Myślę, że to zakładka) na klawiaturze numerycznej.

Artykuły o tym samym numerze: here i here.

+0

Opcja 1 jest tym, co robię. – Finglas

+1

Alt-012 nie działa w VS2013, działa Alt-009. – kibitzerCZ

14

Trzeba wyraźnie dodać zakładkę w. Najprostszym sposobem osiągnięcia tego jest prawdopodobnie wpisać swój ciąg w notatniku (z zakładki jawnie ustawić w miejscu, a następnie za pomocą znaku escape) i skopiuj i wklej tekst do edytora zasobów.

Będziesz mieć podobny problem z nowymi znakami, najprostszym sposobem ich dodania jest - ponownie - dodanie nowych linii w sposób jawny za pomocą kombinacji klawiszy shift-enter.

+0

+1: Tak, to jedyny logiczny sposób. –

+0

Notatnik - najlepszy przyjaciel programistów! – Treb

+0

Próbowałem skopiować wklejanie nie działa Shift + tab pracował dla nowej linii – Gady

0

Czy wypróbowałeś znak tabulatora XML?

Niestety, moja karta nie została wyświetlona! Musiał zostać zjedzony przez przeglądarkę.

	 
0

\ t dodaje kartę ascii, ale jeśli wyświetlasz ją na stronie HTML, nie zobaczysz tej zakładki oprócz źródła strony. HTML nie renderuje kart ani nowych linii jako spacji nierozdzielającej. Po wyświetleniu wszystkie z nich zostają zredukowane do 1 spacji. Formatowanie HTML z białymi znakami nie jest zalecane, to właśnie jest div z CSS lub nawet z Tabelą. Jeśli musisz dodać dodatkową białą spację w HTML, użyj & nbsp; kilkakrotnie, ale nie będzie to poprawne zatrzymanie tabulacji i stworzy koszmar, jeśli kiedykolwiek skopiujesz i wkleisz.

Alternatywnie można wyświetlić dane ciągów w obszarze tekstowym tylko do odczytu. Pozwoli to zachować twój format ciągu. Bez znajomości szczegółów tego, co próbujesz zrobić ze swoim ciągiem znaków lub sposobem, w jaki go tworzysz, są to najlepsze wskazówki, które mogę ci dać.

Można także utworzyć zmienną, ale \ t działa w linii.

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

Domyślam się, że źle odczytałem pytanie, ciągniesz ciąg znaków z zewnętrznego pliku zasobów, a następnie tak, musisz albo zastąpić ciąg znaków, albo wprowadzić sekwencję specjalną bezpośrednio, jak stwierdził Xiaofu. – benjamin

4

użyć kodu dla Alt Tab (Alt + 009) Znaki nowej linii są dodawane za pomocą Shift + Enter.

1) Otwórz plik zasobów w VS. 2) Umieść kursor w miejscu, w którym chcesz wprowadzić znak tabulatora 3) Przytrzymaj klawisz Alt 4) Naciśnij 0, 0, 9 na klawiaturze numerycznej. 5) Puść klawisz alt.

Po kliknięciu łańcucha zasobów zobaczysz, że zakładki zostaną usunięte z ekranu, możesz mieć pewność, że nadal tam są. Można to sprawdzić, otwierając plik Resources.Designer.cs i patrząc na komentarz do łańcucha zasobów i podświetlając obszar, w którym wstawiono zakładkę.

2

Minęło prawie sześć lat od ostatniej modyfikacji tego wątku, a zalecenie używania ucieczek nadal obowiązuje w danym dniu. Co jest warte, wcześniej dzisiaj skopiowałem tekst ze stałej ciągów C# do edytora ciągów zasobów, a zakładkę zastąpiono spacjami.Jednakże, ponieważ kod spodziewał się zobaczyć rzeczywisty znak tabulacji, rzucił wyjątek InvalidOperationException (mój kod, mój wyjątek!). Po raz kolejny powróciłem do zakładki, postępując według doskonałych instrukcji w artykule DevX "Kolejny sposób na poznanie sekwencji w plikach zasobów .NET" wspomnianych w drugim cytacie z zaakceptowanej odpowiedzi.

Moralne: nie licz na schowek Windows, aby wiernie skopiować tekst.

Powiązane problemy