Clipboard Sınıfı İle Not Panosu Kullanımı

Merhaba,

Programlama dünyası her ne kadar yenilikler ve güncellemeler dünyası olsada varlığını yıllardır saklayan yapılara ihtiyaç duyabildiğimiz/duyabileceğimiz bir uğraş olmasından dolayı bazen yörüngeyi geçmişe döndürten bir zanaattir. Mesela bunlardan birtanesi vardır ki halk terminolojisinde Copy/Paste(Kopyala/Yapıştır) olarak yer edinmiş olan, bir veriyi kopyalayıp başka bir alana taşıma işlemidir. İşte bu işlemi Clipboard sınıfı ile gerçekleştirmekteyiz. Bu içeriğimizde bu sınıfın nasıl kullanıldığına değineceğiz.

Clipboard sınıfı yapısal olarak normal olsada içerik olarak static memberlar barındırmaktadır. Haliyle pekte zengin bir içeriğe sahip olmayan bu sınıfın ana metotlarını sade bir şekilde tek tek ele alarak makaleyi seyretmekte fayda var.

SetText ve GetText Metotları

Bu metotlar bilinin CTRL + C ve CTRL + V kombinasyonlarının fonksiyonel versiyonlarıdır. Yani Copy/Paste işleminin gerçekleştirildiği hafızaya SetText ile veri atanırken, benzer mantıkla GetText ile ilgili hafızadan veri çekilmektedir.

            //Veri kopyalandığında...
            string Veri = "Değer";
            Clipboard.SetText(Veri);
            //Kopyalanmış veri yapıştırıldığında...
            string Veri = "";
            Veri = Clipboard.GetText();
SetDataObject ve GetDataObject Metotları

Bu metotlarda işlevsel olarak SetText ve GetText metotlarından farksızdır. Sadece detayda veri ile birlikte bir dosyayıda(resim, müzik vb. gibi) hafızaya alabilmekte ve getirebilmektedirler.

        private void btnKopyala_Click(object sender, EventArgs e)
        {
            Clipboard.SetDataObject(textBox1.Text, true);
        }
        private void btnYapistir_Click(object sender, EventArgs e)
        {
            IDataObject data = Clipboard.GetDataObject();
            textBox1.Text = data.GetData(typeof(string)).ToString();
        }

Eğer ki sadece metinsel ifadeler kopyalanıp yapıştırılacaksa, SetDataObject ile kopyalanan veri GetText ile elde edilebilir ya da tam tersi SetText ile kopyalanan veri GetDataObject ile elde edilebilmektedir.

Eğer ki olay sadece dosya kopyalama ve yapıştırma ise biraz farklı bir çalışma söz konusudur.

        private void btnKopyala_Click(object sender, EventArgs e)
        {
            Clipboard.SetDataObject(Dosyalar.gencay1); //Örnek bir resim dosyası
        }
        private void btnYapistir_Click(object sender, EventArgs e)
        {
            IDataObject data = Clipboard.GetDataObject();
            pictureBox1.Image = (Bitmap)data.GetData(typeof(Bitmap));
        }
SetImage ve GetImage Metotları

Bu metotlarda sadece resim dosyası kopyalama ve yapıştırma işlevini görmektedir.

        private void btnKopyala_Click(object sender, EventArgs e)
        {
            Clipboard.SetImage(resim);
        }
        private void btnYapistir_Click(object sender, EventArgs e)
        {
            pictureBox1.Image = Clipboard.GetImage();
        }

Evet arkadaşlar. Bu içeriğimizde Clipboard sınıfı ile not panosu üzerinde farklı türlerden veriler ile nasıl çalışıldığını incelemiş bulunmaktayız. Bir sonraki içeriğimizde ise Win32 API’lerini kullanarak dinamik bir Clipboard çalışması gerçekleştirecek ve o anki sistemde tüm not panosunda olan tüm değişiklikleri anlık olarak raporlayabileceğiz.

O halde sonraki yazımızda görüşmek üzere diyor, iyi çalışmalar diliyorum…

Bunlar da hoşunuza gidebilir...

1 Cevap

  1. 21 Ağustos 2017

    […] önceki Clipboard Sınıfı İle Not Panosu Kullanımı başlıklı yazımızda C# ile Clipboard sınıfının nasıl kullanıldığını incelemiş, […]

Bir Cevap Yazın

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

CAPTCHA (Şahıs Denetim Kodu) Resmi

*

Copy Protected by Chetan's WP-Copyprotect.