Ho del testo proveniente dal database in una casella di testo multilinea, come posso copiarlo negli appunti in modo che l'utente possa incollarlo in un'altra finestra o file (ad esempio dalla mia applicazione in un'altra casella di testo)? O al blocco note/file di parole, se possibile.Come copiare il contenuto di una casella di testo multilinea negli Appunti in C#?
risposta
Clipboard.Clear(); //Clear if any old value is there in Clipboard
Clipboard.SetText("abc"); //Copy text to Clipboard
string strClip = Clipboard.GetText(); //Get text from Clipboard
System.Windows.Forms.Clipboard.SetText (..)
http://msdn.microsoft.com/en-us/library/system.windows.forms.clipboard.settext.aspx
Non v'è alcuna differenza di copiare testo di un singolo o di più righe TextBox
da e per appunti utilizzando Clipboard.SetText()
(e ovviamente Clipboard.GetText()
). Un TextBox
conterrà ancora un singolo String
, indipendentemente dal fatto che contenga o meno interruzioni di riga. Questo è solo un piacere per gli occhi.
Dal punto di vista delle limitazioni, il metodo ClipBoard.SetText()
accetta sempre una sola stringa, la cui dimensione è limitata solo dalla quantità di memoria disponibile in quel dato momento.
Non è necessario alcun codice speciale per incollare manualmente questo testo in applicazioni come Blocco note o Word.
Clipboard.SetText(yourTextBox.Text);
è tutto ciò che serve.
Per salvare righe nel testo si dovrebbe sostituire "\ n" per carattere di nuova riga, come nell'esempio:
string textforClipboard = TextBox1.Text.Replace("\n", Environment.NewLine);
Clipboard.Clear();
Clipboard.SetText(textforClipboard);