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

1396/7/19 محمد احمدی 25533

محمد احمدی هستم . با جلسه دهم آموزش سی شارپ در خدمتتون خواهم بود .

توی جلسه قبل یک مقدار در مورد حلقه ها توضیح دادم که امیدوارم مفید بوده باشه , توضیحات بیشتر رو به جلسات بعدی و هنگام استفاده از حلقه ها موکول میکنم !

ولی اگه یادتون باشه به عنوان پایان , اجرا و بررسی نتیجه یک برنامه خیلی خیلی ساده ( که سورس رو خودم ارسال کردم ! ) رو بهتون پیشنهاد دادم . سورس :

for(inti = 0; i<= 10; ++i)
{
for (int j = 0; j <= i; ++j)

Console.Write("*");

Console.Write("n");
}
Console.WriteLine("Press any key to exit ...");
Console.ReadKey();

خب نتیجه این پروژه چیزی شبیه به این میشه :

*

**

***

****

*****

Press any key to exit ...

این برنامه ساده رو با استفاده از دوتا حلقه فور نوشتیم . به این نوع استفاده از حلقه ها "تو در تو" گفته میشه ! یعنی یک یا چند حلقه درون یک یا چند حلقه دیگه !

توی برنامه بالا حلقه بیرونی برای چاپ کردن هر خط ( یا به عبارت دیگه هر سطر ) و حلقه ی داخلی برای چاپ کردن هر کاراکتر ( یا به عبارت دیگه هر سطون , و یا به زبان ساده تر برای چاپ کردن محتویات هر خط ) هست !

این جلسه قصد دارم آموزش رو کاربردی تر کنم و یک مقدار در مورد فرم و اشیاء کاربردی توضیح بدم !

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

بعد از لود شدن پروژه , به روی فرم یک کلیک راست کنید و گذینه Properties رو انتخاب کنید . همونطور که میبینید ( امیدوارم که ببینید ! ) یک سری مشخصه یا خصوصیت یا پراپرتی یا ..... برای فرم وجود داره که توی خیلی جاها مورد استفاده قرار میگیره !!

قصد دارم چند تا از مهم ترین ها رو بگم و یک تعداد دیگه رو توی پروژه هایی که باهم انجام میدیم و به وقت نیاز خدمتتون توضیح میدم !

با Name شروع میکنم

اگه نخوایم Name رو به عنوان مهم ترین پراپرتی برای یک شیء توی هر زبانی در نظر بگیریم , قطعا یکی از مهم ترین ها هست !

همونطور که معلومه , مشخصه name نام شیء رو تایین میکنه و با استفاده از اون نام میتونیم توی محیط کد نویسی به اون شیء دسترسی پیدا کنیم و هر تغییراتی که مورد نیاز باشه رو اعمال کنیم !

مشخصه بعدی BackColor هست که رنگ پس زمینه فرم رو مشخص میکنه . با کلیک روی مشخصه BackColor یک فلش کوچک ( که رو به پایین هست ) ظاهر میشه که با استفاده از اون میتونید رنگ مورد نظر خودتون رو به عنوان پس زمینه قرار بدین .

مشخصه بعدی BackGroundImage هست که عکس پس زمینه فرم رو انتخاب میکنه !

کافیه روی این یکی مشخصه هم یک کلیک کنید و روی دکمه ای که در کنارش ایجاد میشه کلیک کنید , بعد از این هم توی فرم جدید از طریق دکمه import میتونید هر فایل عکسی که بخواید رو به پروژه اضافه کنید , با استفاده از دکمه Local resource هم میتونید کاری مشابه انجام بدید . تفاوت این دو دکمه در این هست که دکمه import فایل عکس رو به پروژه اضافه میکنه و به تعداد دفعات نامحدود میتونید همه جای پروژه ازش استفاده کنید و حتی برای انتقال پروژه هم به هیچ مشکلی بر نمیخورید ( نتیجه : سعی کنید حتما از import استفاده کنید ) !

مشخصه بعدی BackGroundImageLayout هست که با BackGroundImage در ارتباط هست. کار این مشخصه اینه که حالت عکس پس زمینه فرم رو مشخص میکنه ( تست و نمایش کار ایی این مشخصه رو به عهده خود تون میذارم.

مشخصه بعدی که ControlBox هست رو اینطوری توضیح میدم : اگه دقت کنید توی فرم های اکثر برنامه های ویندوزی ( مثل تلگرام یا فایرفاکس یا کروم یا همین ویژوال استادیو ..... ) , معمولا بالا و گوشه سمت چپ فرم چند تا دکمه برای بستن فرم , کوچک نمایی , بزرگ نمایی و .... هست که یک سری اعمال رو روی فرم انجام میده . مشخصه ControlBox تایین میکنه که اون دکمه ها نشون داده بشن یا اینکه مخفی باشن !!

مشخصه بعدی Cursor هست که میتونید با استفاده از اون شکل آیکون موس رو انتخاب و تغییر بدین ( پیشنهاد میکنم حتما باهاش کار کنید :-) )

همونطور که توی خیلی از جاها توی ویندوز ما میتونیم فونت رو تغییر بدیم و فونت دلخواه رو اعمال کنیم ( مثل نرم افزار آفیس ) , توی فرم های سی شارپ هم مشخصه ای با نام Font وجود داره که همین کار رو انجام میده !

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

مشخصه های ( MaximizeBox , MinimizeBox ) برای نمایش و عدم نماش دکمه های کوچک و بزرگ نمایی فرم هستن ( همون دکمه هایی که ControlBox باعث نمایش و عدم نمایششون میشه ! ) . خب شاید بگید که این مشخصه ها با مشخصه ControlBox چه فرقی داره !؟؟ فرقشون اینجاست که ControlBox باعث میشه هر 3 دکمه و همینطور آیکون برنامه نمایش داده نشه , ولی MaximizeBox فقط بروی دکمه بزرگنمایی و MinimizeBox فقط بروی دکمه کوچک نمایی تاثیر داره !

یک مشخصه جالب دیگه هم هست که باعث کم رنگ شدن و حتی محو شدن کامل فرم میشه ! . با استفاده از مشخصه Opacity میتونید مقدار شفاف بودن فرم رو مشخص کنید . دقت کنید که اگه این مقدار 100% باشه به این معنی که فرم بصورت کامل نمایش داده بشه , و هرچه این مقدار به سمت 0% کم بشه , باعث کم رنگ شدن فرم میشه !!

مشخصه Size هم همونطور که اسمش خودش رو معرفی میکنه , مقدایر ارتفاع و عرض فرم رو دریافت میکنه و تغییر اونها باعث کوچک یا بزرگتر شدن فرم میشه ! این مشخصه دو پراپرتی ( یا مشخصه ) دیگه (به نام های Width , Height ) توی خودش داره ک Width برای عرض و Height برای ارتفاع در نظر گرفته شده . توجه داشته باشید که مقدار دریافتی این دو مشخصه عدد هست !

مشخصه Text هم برای دریافت متن بالای فرم ( در کنار آیکون فرم ) قرار داده شده که یکی از مهم ترین و پرکاربرد ترین پراپرتی ها ست !

و در نهایت مشخصه WindowState که برای تایین حالت اجرای فرم هست . اگه دقت کنید بعضی از برنامه ها همیشه در حالت Maximize یا تمام صفحه و بعضی دیگه در حالت عادی و یک سری هم در حالت Minimize اجرا میشن ! کار مشخصه WindowState تایین همین مورد هست .

نکته خیلی مهم , توی سی شارپ یک تعدادی از مشخصه های کاربردی توی اکثر اشیاء هستن و معمولا نام و طریقه استفاده از اونها معمولا به یک شکل هست !

برای مثال اگه شما یک باتن ( یا همون دکمه ) روی فرم قرار بدید و با یک کلیک راست و انتخاب گذینه Properties , پراپرتی های دکمه رو مشاهده کنید , مواردی مثل Name , Font , BackColor , BackGroundImage , text , …..  رو مشاهده میکنید که نحوه استفاده و نتیجه ای که میدن تقریبا با فرم برابر هست . ولی توی باتن مشخصه WindowState وجود نداره و در واقع کاربردی هم نداره !!

در آخر , دقت کنید که هیچ کس تنها با خوندن مطالب نمیتونه حرفه ای مثل برنامه نویسی رو یاد بگیره !! پس حتما دست به کد بشید و لذت برنامه نویسی رو تجربه کنید

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

کانال تلگرام