برنامه نویسیمقالات

استفاده از کلیپ بورد در دات نت و ویژوال استودیو

نمونه برنامه سی شارپ

 

دوستان استحضار دارید که وقتی ما داده ایی را در ویندوز کپی می کنیم ، اطلاعات کپی شده در محلی به نام کلیپ بورد ذخیره می شود.

کلیپ بورد یک حافظه ی موقتی است و با خاموش شدن رایانه اطلاعات آن پاک می شود.

از کلیپ بورد در بسیاری از برنامه ها ی برنامه نویسان به فروانی استفاده می شود.

چگونه از کلیپ بورد ( ClipBoard ) در برنامه نویسی و محیط دات نت استفاده کنیم؟


سه تا عمل Copy ,Cut , Paste , Clear را در اینجا شرح می دهیم همراه با کدها و مثالی در محیط ویژوال استودیو 2010 .

از کلاس استاتیک Clipboard که در فضای نام System.Windows.Forms وجود دارد استفاده می کنیم.

عمل Copy:

متد SetText() همراه با یک ورودی ( پارامتر) رشته ایی، متن مورد نظر ما را به حافظه کپی کرده و در هر جایی از ویندوز که خواستیم می توانیم متن را Paste کنیم.

// برای جلوگیری از خطاحین اجرا
            try
            {
                //کپی کردن متن درون تکس باکس
                Clipboard.SetText(txtInput.Text);
            }
            catch { }

برای جلوگیری از خطا از Try Catch استفاده شده است .مثلا در صورتی که داخل تکس باکس چیزی نباشه ، خطا پیش میاد.


عمل Cut:

همانند کدهای بالاست با این تفاوت که ، متن داخل تکس باکس رو خالی می کنید .

 try
            {
                Clipboard.SetText(txtInput.Text);
                txtInput.Text = string.Empty;

            }
            catch { }

عمل Paste :

یه نکته هستش که باید بهش اشاره کنم اونم اینه که ممکنه بخواهیم داده هایی دیگه ایی غیراز متن کپی کنیم و از کلیپ بورد بگیریم. توابعی دیگه ایی در کلاس هستش که میتوان ازشون استفاه کرد برای مثال ، در کدهای Paste این امکان رو بهش اضافه کردیم که عکسی از کلیپ بورد رو تو برنامه مون نشون بدیم. پس اول باید چک کرد که آیا این داده ی کپی شده عکس می باشد یا نه؟ برای این منظور از تابع ContainsImage() استفاده کردیم .این تابع خروجیش نوع بولین می باشد که مشخص میکنه ،عکس کپی شده یا داده ایی دیگه.

در کدها زیر خط به خط توضیح دادم :

 //بررسی تصویر بودن داده کپی شده در کلیپ بورد
            if (Clipboard.ContainsImage()==true)
            {
                //اگه عکس بود در کنترل نمایشش بده
                imgShow.Image = Clipboard.GetImage();
            }
            else
                //در غیر اینصورت متن رو داخل تکس باکس بریز
                txtInput.Text=  Clipboard.GetText();
            //فوکس رو تکس باکس برود
            txtInput.Focus();

عمل Clear :

در مثالی که نوشتم عمل Clear رو یادم رفت تو سورس بذارمش. برای پاک کردن محتویات کلیپ بورد از کد زیر استفاده میکنیم:

  //پاک کردن حافظه
            Clipboard.Clear();

پیش نمایش برنامه رو مشاهده فرمایید:

نمونه برنامه سی شارپ

دانلود سورس برنامه


برای مشاهده کلیه سورس های برنامه سی شارپ کلیک نمایید.

تمامی مطالب توسط تیم سافت ساز ترجمه و جمع آوری می شود . منبع سافت ساز

امتیاز به این مطلب :

امتیاز

جمع امتیازات

لطفا به این مطلب امتیاز دهید.

User Rating: 2.6 ( 1 votes)

نوشته های مشابه

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

دکمه بازگشت به بالا