2012-01-27 19 views
8

Come è possibile aggiungere interruzioni di riga utilizzando il metodo SetText?Interruzione di riga utilizzando Appunti SetText

Ho provato Clipboard.SetText("eee \n xxxx"); ma non mi dà il risultato previsto quando incollo i dati degli appunti nel blocco note. risultato

atteso:

eee 
xxxx 

Come posso fare questo?

+1

cosa ti dà? – gdoron

+0

qualcosa: eee (carattere quadrato) xxxx – yonan2236

risposta

9

Windows utilizza coppie LF CR + per indicare una nuova linea. Questo equivale a "\r\n" in C#. Tuttavia, stai semplicemente inviando "\n", cioè una coppia LF anziché una coppia CR + LF.

Utilizzare Environment.NewLine anziché "\n". Questo è il modo idato per scrivere ortografia "\r\n" in C#. Come bonus, se hai mai eseguito il tuo codice su una piattaforma * nix, Environment.NewLine valuterà "\ n" che è l'indicatore * nix new line. Infine, a mio avviso, il Environment.NewLine è preferibile dal punto di vista della leggibilità. Documenta ciò che è logicamente piuttosto che affidarsi a te conoscendo le costanti magiche.

+0

nuove conoscenze per me. grazie di questa informazione – yonan2236

+0

Ciao David, dove posso trovare un riferimento per questo tipo di stenografie o simili? – yonan2236

+0

Non sono sicuro che ci sia una sola lista di conoscenze utili come questa. Raccogli questa roba mentre vai avanti. I linguaggi di livello superiore fanno un buon lavoro di protezione da tutti questi dettagli, ma ogni tanto ci si imbatte in esso. –

4

Prova:

Clipboard.SetText("eee" + Environment.NewLine + "xxxx"); 
+0

ya, questo è ... grazie:) – yonan2236

1

ho trovato questo funziona bene così:

System.Windows.Forms.Clipboard.SetText(this.txtCopyJS.Text.Replace("\n", "\r\n")); 
+0

Ciò è particolarmente utile quando si ha a che fare con stringhe C++. –

Problemi correlati