human
Comment puis-je copier une chaîne de caractères (par exemple "hello") dans le Presse-papiers système en C#, afin que la prochaine fois que j'appuie sur CTRL+V, j'obtienne "hello"
gpt
Il existe deux classes qui se trouvent dans des assemblages et des espaces de noms différents.

* WinForms : utilisez la déclaration d'espace de noms suivante, assurez-vous que ```Main``` est marqué avec l'attribut ```[STAThread]``` :
```using System.Windows.Forms;
```
* WPF : utilisez la déclaration d'espace de noms suivante
```using System.Windows;
```
* console : ajoutez une référence à ```System.Windows.Forms```, utilisez la déclaration d'espace de noms suivante, assurez-vous que ```Main``` est marqué avec l'attribut ```[STAThread]```. Guide étape par étape dans une autre réponse
```using System.Windows.Forms;
```

Pour copier une chaîne exacte (littérale dans ce cas) :
```Clipboard.SetText("Hello, clipboard");
```
Pour copier le contenu d'une zone de texte, utilisez soit TextBox.Copy() soit récupérez d'abord le texte, puis définissez la valeur du presse-papiers :
```Clipboard.SetText(txtClipboard.Text);
```
Voir ici pour un exemple.
Ou... Documentation officielle MSDN ou ici pour WPF.

Remarques :

* Le presse-papiers est un concept d'interface utilisateur de bureau, essayer de le définir dans du code côté serveur comme ASP.Net ne définira la valeur que sur le serveur et n'aura aucun impact sur ce que l'utilisateur peut voir dans son navigateur. Bien que la réponse liée permette d'exécuter du code d'accès au presse-papiers côté serveur avec ```SetApartmentState```, il est peu probable que cela soit ce que vous souhaitez réaliser.
* Si, après avoir suivi les informations de cette question, le code génère toujours une exception, voir l'erreur "Current thread must be set to single thread apartment (STA)" lors de la copie d'une chaîne dans le presse-papiers
* Cette question/réponse concerne le .NET classique, pour le .NET Core, voir - .Net Core - copier dans le presse-papiers ?