Bagaimana saya bisa menyalin string (e.g "hello") ke Clipboard Sistem di C#, jadi lain kali saya tekan CTRL+V I'll mendapatkan "hello"?
Anda'll perlu deklarasi namespace:
using System.Windows.Forms;
ATAU untuk WPF:
using System.Windows;
Untuk menyalin suatu string yang tepat (literal dalam kasus ini):
Clipboard.SetText("Hello, clipboard");
Untuk menyalin isi dari textbox:
Clipboard.SetText(txtClipboard.Text);
Lihat di sini untuk contoh. Atau... Official MSDN dokumentasi atau di Sini untuk WPF.
Clipboard.SetText("hello");
Anda'll perlu menggunakan Sistem.Windows.Bentuk
atau Sistem.Windows
namespaces untuk itu.
Pengalaman saya dengan masalah ini menggunakan WPF C# koping ke clipboard dan Sistem.Threading.ThreadStateException
di sini dengan saya kode yang bekerja dengan benar dengan semua browser:
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();
kredit ke posting ini di sini
Tapi ini hanya bekerja di localhost, jadi don't mencoba ini pada server, seperti's tidak akan bekerja.
Pada sisi server, saya melakukannya dengan menggunakan zeroclipboard
. Satu-satunya cara, setelah banyak penelitian.
Untuk console proyek-proyek dalam langkah-demi-langkah mode, anda'll harus terlebih dahulu menambahkan Sistem.Windows.Bentuk
referensi. Berikut langkah-langkah pekerjaan di Visual Studio Community 2013 .NET 4.5:
Sistem.Windows.Bentuk
.Kemudian, tambahkan berikut menggunakan
pernyataan di dengan orang lain di atas kode:
using System.Windows.Forms;
Kemudian, tambahkan salah satu dari berikut Clipboard
.[SetText
](https://msdn.microsoft.com/en-us/library/ydby206k(v=vs. 110).aspx) laporan ke kode anda:
Clipboard.SetText("hello");
// OR
Clipboard.SetText(helloString);
Dan terakhir, tambahkan STAThreadAttribute
untuk Main
metode sebagai berikut, untuk menghindari Sistem.Threading.ThreadStateException
:
[STAThreadAttribute]
static void Main(string[] args)
{
// ...
}