c# - pegar - vba portapapeles




Cómo copiar datos al portapapeles en C# (3)

Mi experiencia con este problema al usar la copia de C # de WPF en el portapapeles y System.Threading.ThreadStateException está aquí con mi código que funcionó correctamente con todos los navegadores:

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éditos para esta publicación here

Pero esto solo funciona en localhost, así que no intentes esto en un servidor, ya que no va a funcionar.

En el lado del servidor, lo hice utilizando zeroclipboard . La única manera, después de mucha investigación.

¿Cómo puedo copiar una cadena (por ejemplo, "hola") al Portapapeles del sistema en C #, por lo que la próxima vez que presione CTRL + V obtendré "hola"?


Necesitará una declaración de espacio de nombres:

using System.Windows.Forms;

O para WPF:

using System.Windows;

Para copiar una cadena exacta (literal en este caso):

Clipboard.SetText("Hello, clipboard");

Para copiar el contenido de un cuadro de texto:

Clipboard.SetText(txtClipboard.Text);

Vea aquí para un ejemplo . O ... Documentación oficial de MSDN o aquí para WPF .


Clipboard.SetText("hello");

Tendrá que usar los espacios de nombres System.Windows.Forms o System.Windows para eso.





clipboard