Comment copier des données dans le presse-papiers en C#

Comment puis-je copier une chaîne de caractères (par exemple "hello&quot ;) dans le Presse-papiers système en C#, de sorte que la prochaine fois que j'appuierai sur CTRL+V j'obtiendrai "hello" ?

Solution

Vous aurez besoin d'une déclaration d'espace de nom :

using System.Windows.Forms;

OU pour WPF :

using System.Windows;

Pour copier une chaîne exacte (littérale dans ce cas) :

Clipboard.SetText("Hello, clipboard");

Pour copier le contenu d'une zone de texte :

Clipboard.SetText(txtClipboard.Text);

[Voir ici pour un exemple][1]. Ou bien... [Documentation officielle MSDN][2] ou [Ici pour WPF][3].

[1] : http://www.geekpedia.com/tutorial188_Clipboard-Copy-and-Paste-with-Csharp.html [2] : http://msdn.microsoft.com/en-us/library/ydby206k.aspx [3] : http://msdn.microsoft.com/en-gb/library/ms597043.aspx

Commentaires (7)
Clipboard.SetText("hello");

Pour cela, vous devez utiliser les espaces de noms System.Windows.Forms ou System.Windows.

Commentaires (1)

Mon expérience avec ce problème en utilisant WPF C# coping to clipboard et System.Threading.ThreadStateException est ici avec mon code qui a fonctionné correctement avec tous les navigateurs :

Thread thread = new Thread(() => Clipboard.SetText("String to be copied to clipboard"));
thread.SetApartmentState(ApartmentState.STA); //Set the thread to STA
thread.Start(); 
thread.Join();

crédits pour ce post ici

Mais cela ne fonctionne que sur localhost, donc n'essayez pas sur un serveur, car cela ne fonctionnera pas.

Côté serveur, je l'ai fait en utilisant zeroclipboard. La seule façon, après beaucoup de recherches.

Commentaires (3)