PDA

View Full Version : [c#] usare il clipboard


giangi_luca
17-04-2010, 21:25
ciao a tutti, sto cercando di copiare i nomi dei file che seleziono in una clipboard. il problema è che non riesco a mandare a capo il nome di ogni file
quando faccio ctrl+v

vorrei avere
c:....\file1
c:....\file2
c:....\file3

invece ottengo
vorrei avere
c:....\file1c:....\file2c:....\file3

posto il codice

if (openFileDialog1.ShowDialog() == DialogResult.OK)
{
string listaFile = "";

string[] nomifile = openFileDialog1.FileNames;

foreach (string sFile in nomifile)
{
listaFile = listaFile + sFile.ToString();
}

Clipboard.SetDataObject(listaFile);


}

grazie per l'aiuto

gugoXX
17-04-2010, 21:48
listaFile = string.Format("{0}\n{1}", listaFile, sFile);

giangi_luca
17-04-2010, 22:00
ciao grazie per l'aiuto.
funziona.

!k-0t1c!
18-04-2010, 12:37
Consiglio: usa sempre le funzioni del framework quando puoi. Il tuo codice rimarrà più pulito, leggibile e probabilmente anche veloce.
Quel che vuoi si fa in una riga ;)


if (openFileDialog1.ShowDialog() == DialogResult.OK) Clipboard.SetDataObject(String.Join(Environment.NewLine, openFileDialog1.FileNames);

giangi_luca
20-04-2010, 13:50
ciao, una domanda:
stavo studiando la parte di codice che mi hai scirtto ma non
ho ben chiaro il funzionamento della forma che mi hai scritto:

{0}\n{1}

mi dai due spiegazioni?
ti ringrazio

ciao

!k-0t1c!
20-04-2010, 16:00
E' molto semplice:
String.Join, dato un array di stringhe (passato come secondo argomento), concatena le stringhe interponendo tra ogni coppia la stringa passata come separatore (nella fattispecie Environment.NewLine, che solitamente corrisponde a "\r\n").
ciao, una domanda:
stavo studiando la parte di codice che mi hai scirtto ma non
ho ben chiaro il funzionamento della forma che mi hai scritto:

{0}\n{1}

mi dai due spiegazioni?
ti ringrazio

ciao

giangi_luca
20-04-2010, 16:06
ok grazie ma nella dicitura del ragazzo di prima

{0}\n{1}


non ho capito a cosa serve {1}