Domanda

Sto provando a copiare negli appunti sia un'immagine da un file che il testo da un file. La mia intenzione è quindi quella di aprire un documento Word o una e-mail Outlook e incollare sia il testo che l'immagine in un comando incolla standard (ad esempio CTRL-V). Posso fare entrambi separatamente abbastanza facilmente, ma eseguirli entrambi in un'unica operazione non sembra funzionare.

Questo è il modo in cui i due funzionano come operazioni separate (ovviamente solo le righe di codice rilevanti, con try / catch eliminato ecc.):

Aggiungi immagine agli Appunti:

...

Bitmap imageToAdd = new Bitmap(imageFilePath);
Clipboard.SetImage(imageToAdd);

...

Aggiungi testo negli Appunti:

...

StreamReader rdr = new StreamReader(textFilePath);
string text = rdr.ReadToEnd();

Clipboard.SetText(text);

...

Sto usando il framework c # e .net 2.0 e ho come target Windows XP (e probabilmente Vista nel prossimo futuro).

TIA

È stato utile?

Soluzione

Ho notato che solo un oggetto può essere passato.

In tal caso, quando l'utente preme il comando per incollare, il codice potrebbe eseguire due funzioni o una funzione in modo ricorsivo e ogni volta ottenere i dati desiderati e incollarli.

Quindi, guarda loop o ricorsione.

Altri suggerimenti

È possibile utilizzare RTF, che può combinare testo e grafica. Si noti che è possibile avere CF_BITMAP e CF_TEXT negli Appunti contemporaneamente. Ma non è utile Otterresti il ??testo quando incolli nel blocco note, otterrai la bitmap quando incolli in Paint e la maggior parte delle altre app sceglierebbe l'una o l'altra, ma mai entrambe. Quindi è semplicemente accademico. Un po 'pulito, nel modo in cui i malfunzionamenti del trasportatore su Star Trek erano puliti. Ma anche disordinato.

Forse potresti usare SetDataObject che richiede un parametro Object, potresti usare un array di oggetti?

L'array di oggetti potrebbe contenere i dati richiesti.

Vedi questo link:

http://msdn.microsoft.com/en-us/library /5b8kt5z4.aspx

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top