C# ile Windows Clipboard Nasil Kullanilir. (Copy/Paste)

Bu makalemizde C# kullanarak Windows clipboard’a nasil erisecegimizi anlatacagiz. Gelistirdigimiz bazi uygulamalar clipboarda yeni bir deger yerlestirme veya clipboard eklenen bir degeri okuma ihtiyaci duyabiliyoruz. Windows da kopyala/yapistir(copy/past) diye adlandirdigimim bu kavrami .net de gerçeklestirmek aslinda çok kolay. Framework kütüphanesi bizi windows apilerinden soyutlayarak bu tür islemleri kolayca yapmamizi sagliyor.

Ilk olarak bir Windows Form Application projesi açarak ise baslayalim. Olusturdugumuz projede asagida resmini verdigimiz gibi bir form tasarlayin.

clipboard kontrol

Yukaridaki formun aynisini olusturduysaniz gelelim kodlamaya. Metni kopyala butonuna(btnCopyText) bastigimiz zaman textboxa(txtClipboard) yazdigimiz metni clipboarda koyacapiz. Eger Metni Yapistir(btnPasteText) butonuna basarsakta clipboard içinde bulunan metni alip textbox içine yazacagiz. Butonlarin click eventi altina asagidaki kodlari yazdigimizda istedigimiz herseyi yazmis oluyoruz.

private void btnCopyText_Click(object sender, EventArgs e)

{

    Clipboard.SetText(txtClipboard.Text);

}



private void btnPastText_Click(object sender, EventArgs e)

{

    txtClipboard.Text =  Clipboard.GetText();

}

 

Eger clipboardu temizlemem istersek  Clipboard.Clear(); metodunu kullanabilirsiniz.

Ilk basta söyledigimiz gibi bu islem bu kadar basit. Yukarida anlattigimiz windows form applicationa ait proje dosyasinida asagidaki linkten indirerek deneyebilirsiniz.

Proje kaynak dosyasi.
.

 

Tags:

17 thoughts on “C# ile Windows Clipboard Nasil Kullanilir. (Copy/Paste)

  • facebook yorum yerlerine yapy?tyrabilmek için ilk olarak yorum kontrollerini bulman lazym. Bunun en güzel yöntemi , facebook apileri kullanman. https://developers.facebook.com/ adresinden apileri inceleyerek bir çözüm bulursun dyye dü?ünüyorum

  • Çok güzel bir payla?ym olmu? te?ekkürler. Ben ?öyle bir ?ey yapmayy istiyorum ara?tyrdym fakat,istedi?im ?ekilde bir sonuç elde edemedim. Örne?in ben kendi yapmy? oldu?um formdaki bir textBox’a bir ?ey girece?im daha sonra bunu kendim formum dy?yndaki yerlere yapy?tyrmak istiyorum örnek vericek olursam facebooktaki yorum yerlerine yapy?tyrmasy lazym yardymcy olursanyz sevinirim.

  • bir windows uygulamasymy yazyyorsun ? yoksa webmi?

  •  Adres çubu?undaki link koplady?ynda otomatik olarak textbox a atmasyny  istiyorum. yani sa? tu? /kopyala dedi?imiz anda  textbox da otomatik atmasyny istiyorum.

  • Paso ctrl+v seklinde geliyor clipboardaki veri anlamadim ki Clipboard.GetText(); bu degil mi kopyalanan verinin almaya yarayan?

  •  buna bir ara vakit ayirip kucuk bir proje yaziyim ben.

  • Nasil yapiliyor iste onu beceremedim ki kolay dedigin kismi yapamiyorum bir türlü 🙂

  • ctrl + c yi kullandigin anda zaten clipboarda gider veri. sende duzenli olarak clipboardu izleyerek kopyalananlari bulabilirsin. o kisim kolay.  

  • ya msn örnekti ctrl+c ile mesela bu siteden bir yaziyi kopyaladin diyelim sonra da notdefterine ctrl+v ile yapistirdin.bu kopyaladigin veriyi nasil görebilirsin?illa bir textbox mu yada richtext mi olmak zorunda?

  • daha önce kullanmadim ama msnde gelen yazismalari netwrokde araya girerelk dinleyen programlar var. oyle bir yapi kullanabilirsin. diger turlu cok da iyi olmaz.

    zaten senin programdan msnin ekranindaki yaziyi kopyalamanin mumkun olacagini pek sanmiyorum.

    belki su sekilde yapilir :  sistemde aktif pencereleri takip edersin ve msn aktif oldugunda keylogger mantigiyla tum klavye girislerini yakalarsin, ama bundada karsi tarafin gonderdigi mesajlari alamazsin.

  • Yaw aslinda bi msndeki konusmalari kayit altina alan bi prog yapsam güzel olur sen ne diyon bu ise msk kusura bakma ismin i bilmiyorum 🙂

  •  msn deki yaziyi kendi yazdigin programlami kopyalamak istiyorsun otomati olarak ? 

  • Peki normal bir yerden mesela atiyorum msn de konusuyoruz ve orada ki bir yaziyi kopyalayip form umuza yapistirmak istersek nasil yapacaz?kendi formumuzdan kopyaliyoruz ama diger türlü nasil kopyalayacagiz?

  • merhaba,

    web sitelerinde server tarafinda copy paste islemi yapamazsiniz, cunku copy paste yapmak istediginiz metin clientdadir.  Bu durumda javascript kullanmaniz gerekir.

    javascript ile clipboarda erismek için asagidaki komutlari kullanabilirsiniz.

    CopiedTxt = document.selection.createRange();
    CopiedTxt.execCommand("Copy");

  • Merhaba

    Bunun ASP.Net için olani varmi acaba.

    Tesekkürler.

  • tesekkür ederiz. Sizlerinde aklina gelen makale konulari olursa bizimle paylasin. zaman buldukça yazmaya çalisiriz.

  • tesekkürler, yazilimcilar için harika bir site.

    tüm yazilarinizi okumaya çalisiyorum.

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir