آموزش سی شارپ C# قسمت پانزدهم

1395/10/25 --- 4319

سلام و عرض وقت بخیر خدمت همه ی شما دوستان و همراهان گرامی تیم برنامه نویسان , سایت http://ilikephp.ir 

قبل از هرچیز سال جدیدتون میمون و مبارک ( البته پیشاپیش :)) ) . امیدوارم سالی پر از پروژه های خوب و موفق , کارهای عالی , تجربه های بی نظیر و مهمتر از همه زندگی شاد و پر خیر و برکتی رو براتون آرزو میکنم .

توی جلسه قبل یک وردپد ساده ساختیم و طراحی فرم رو هم تو قالب یک برنامه ساده انجام دادیم . به علاوه کد تغییر فونت و تغییر رنگ رو هم نوشتیم . ( اگر آموزش جلسه قبل رو در اختیار ندارید میتونید با استفاده از هشتگ #C_Sharp_14 بهش دسترسی پیدا کنید ) .

توی این جلسه میخوایم پروژه قبلیمون رو کمی بیش از پیش جلو ببریم .

پروژه قبلی رو باز کنید ( اگر به هر دلیلی پروژه رو هم ندارید , میتونید با اون هشتگی که بالا گفتم , به آموزش ساخت برنامه دسترسی پیدا کنید ) . بعد از مواردی که توی جلسه قبل گفتیم , الان میخوایم در مورد منو های Copy , Cut , Past صحبت کنیم و پروژه رو ادامه بدیم .

ابتدا یک توضیحی در مورد کلیپ بورد باید بدم . کلیپ بورد یک فضا توی حافظه رم کامیپوتر هست که توسط سیستم عامل درست میشه و سیستم عامل این امکان رو به برنامه نویس ها میده که با استفاده از دستوراتی به اون دسترسی داشته باشن و بتونن به راحتی کاربر کمک کنن . با استفاده از کلیپ بورد میتونیم یک متن , یک صوت و مواردی دیگه رو با استفاده از حافظه رم جابجا کنیم , دقت کنید که کلیپ بورد در آن واحد فقط میتونه یک دیتا رو توی خودش ذخیره کنه و با ذخیره دیتای دیگه ای توی اون , دیتای قبلی حذف میشه ؛ و دقت کنید که با ری استارت کردن سیستم و یا خاموش کردن اون , حافظه موقت کلیپ بورد پاک میشه !

بعد از این مقدمه ها روی منو Copy دابل کلیک کنید , بطور عادی باید به صفحه کد نویسی منتقل بشیم .

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

خیلی ساده کافیه بنویسیم :

Clipboard.SetText(richTextBox1.SelectedText);

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

اگر برنامه رو اجرا کنید و بعد از وارد کردن یک متن توی کادر متن موجود توی برنامه و انتخاب اون متن روی منوی Copy کلیک کنید  متن انتخاب شده توی حافظه کلیپ بورد ذخیره میشه . حالا کافیه توی یک برنامه دیگه متن رو Past کنید .

میبینید که متن به جای جدید منتقل میشه !

برای دریافت متن موجود توی حافظه کلیپ بورد باید از همون شیء Clipboard ولی متد GetText استفاده کنیم

برای اینکار بعد از اینکه روی منوی Past دابل کلیک کردین و توی صفحه جدید منتقل شدید , باید همچین کدی رو بنویسیم ( دقت کنید , کپی نکنید و خودتون بنویسید . هیچ کس با کپی کردن برنامه نویس حرفه ای نشده (^__^) ) :

richTextBox1.SelectedText = Clipboard.GetText();

خب این کد هم واضحه و فکر نمیکنم نیاز به توضیح خاصی داشته باشه . با استفاده از متد GetText متن موجود توی حافظه کلیپ بورد رو دریافت کردیم و متن درون کلیپ بورد رو بجای اون متن انتخاب شده توسط کاربر قرار دادیم .

باز هم اگر برنامه رو اجرا کنیم و کد رو تست کنیم , نتیجه کار رو میبینیم

برای منوی Cut هم باید به شکل منوی Copy عمل کنیم , با این تفاوت که بعد از اون باید متن انتخاب شده حذف بشه .

پس مثل دفعه ی قبل همون کد کپی رو مینویسیم ولی بعد از اون , متن انتخاب شده رو برابر تهی یا همون "" قرار میدیم :

Clipboard.SetText(richTextBox1.SelectedText);
richTextBox1.SelectedText = "";

دیدید که با استفاده ار شیء کلیپ بورد و دستوراتی که گفتیم خیلی ساده تونستم 3 عمل Copy , Cut , Past رو توی برنامه انجام بدیم .

از اونجایی که آخر سال هست و اکثر شما عزیزان درگیر خونه تکونی و تمیزکاری های قبل از عید هستید , برای امروز تا همینجا کافی هست . ان‌شاءالله جلسه بعدی هم به همین زودی خواهد بود . راستی . بعد از اتمام پروژه وردپد , فیلم آموزش ساختش رو هم توی سایت قرار میدیم (^__^)

دانلود PDF قسمت پانزدهم آموزش سی شارپ