تبلیغات
banner
banner
banner
تبلیغات
banner

فیلم های آموزشی : 36 +

تعداد کاربران : 34 +

تعداد کل مطالب : 338 +

تعداد نظرات : 29 +

حضرت علی (ع) : دانش اندک همراه با عمل بهتر از علم بسیار بدون عمل است.

آموزش مقدماتی تا پیشرفته سی شارپ بخش چهل و هشتم


بنام خدا

آموزش مقدماتی تا پیشرفته سی شارپ بخش چهل و هشتم 

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

قسمت چهل و هشتم

در این قسمت برنامه قسمت چهل و هفتم را توضیح خواهیم داد.

 


چگونه كار مي كند؟

در اين برنامه، كاربر ميتواند با استفاده از كنترل DateTimePicker يك ساعت از شبانه روز را انتخاب كند.

سپس شما بـا توجه به ساعت انتخاب شده توسط كاربر مشخص مي كنيد كه مت در آن ساعت مشغول انجام كداميك از هشت كـار تعريـف شـده است.

براي اين كا ر ابتدا بايد ساعت مشخص شده توسط كاربر را در مكاني نگهداري كنيد.

براي اين كار يك خاصيت جديد به فرميكه در حال كار با آن هستيم اضافه مي كنيم.

اين خاصيت همانند ديگر خاصيتهاي فرم مثل Name است. نام ايـن خاصـيت جديـد Hour است و براي تنظيم ساعت در كنترل DateTimePicker و كنترل ليبـل بـه كـار مـي رود.

بـراي تعريـف يـك خاصيت جديد كافي است كه نوع داده اي و نام آن را مشخص كنيد و سپس مانند زير در بدنـه آن خاصـيت، دو بـلاك بـه نامهـاي set و get تعريف كنيد:

به بلاكهاي get و set درون خاصيت توجه كنيد.

دستورات بلاك get كه شـامل دسـتور return هـم هـستند زمـاني فراخواني مي شوند كه بخواهيم مقدار ذخيره شده در خاصيت را بدست آوريم.

در بلاك get لازم نيست نوع مقدار برگردانـده شـده توسط آن را مشخص كنيم، زيرا اين نوع هم اكنون در خود تعريف خاصيت به صورت int مـشخص شـده اسـت.

پـس دسـتورات بلاك get بايد مقداري را از نوع عدد صحيح برگردانند.

براي مثال هنگامي كه از اين خاصيت در سـمت راسـت علامـت مـساوي استفاده كنيم، برنامه نياز دارد كه به مقدار آن دسترسي پيدا كند، به همين دليل به صورت اتوماتيك دسـتورات بخـش get را اجـرا مي كند  .

دستورات بخش set زماني اجرا مي شوند كه بخواهيم مقدار اين خاصيت را تغيير دهيم.

براي مثال اگر از ايـن خاصـيت در سـمت چپ يك تساوي استفاده كنيم، برنامه با استفاده از متد set ،حاصل عبارت سمت راست تساوي را در خاصيت قرار مي دهد.

در اين قسمت نيز نيازي نيست نام و يا نوع داده اي مقداري كه به بلاك set فرستاده مي شود را مشخص كنيم.

نوع داده اي اين مقـدار كه برابر با نوع داده اي خاصيت خواهد بود . مقدار فرستاده شده هم با كلمه كليـدي value بـه بـلاك set ارسـال مـي شـود .

بنابراين در بلاك set براي دسترسي به مقدار فرستاده شده، بايستي از كلمه كليدي value استفاده كنيد .

هنگامي كه برنامه شروع مي شود، مقدار خاصيت Hour را برابر با مقدار كنوني ساعت سيستم قرار مي دهيم.

بـراي دسترسـي بـه مقدار كنوني ساعت سيستم، مي توانيم از خاصيت Now در كلاس DateTime استفاده كنيم.

يكـي از مـواقعي كـه بايـد خاصـيت Hour را در فـرم تنظـيم كنيـد، زمـاني اسـت كـه خاصـيت Value مربـوط بـه كنتـرل DateTimePicker تغيير مي كند، يا به عبارت ديگر كاربر زمان نمايش داده شده در اين كنترل را تغيير مي دهـد.

بـراي اين كار از متد مربوط به رويداد ValueChanged كنترل DateTimePicker استفاده مي كنيم :

همچنين هنگامي كه خاصيت Hour در فرم تغيير كرد بايد مقدار نمايش داده شده توسط كنترل DateTimePicker و نيز كنترل ليبل را برابر با مقدار جديد قرار دهيد.

كد مربوط به اين مورد را مي توانيد در بلاك set در خاصيت وارد كنيد تا با هر بار تغيير مقدار Hour ،اجرا شود .

اولين موردي كه بايد در بلاك set تغيير دهيد، مقـدار كنتـرل DateTimePicker اسـت.

ممكـن اسـت تـصور كنيـد همانطور كه براي دسترسي به مقدار ساعت اين كنترل از خاصيت Value.Hour استفاده مي كرديم، مي توانيم با تنظيم ايـن خاصيت موجب شويم كه مقدار جديدي در اين كنترل نمايش داده شود.

اما خاصيت هايي مانند Hour از نوع فقط-خواندني هستند و نمي توان آنها را به تنهايي تنظيم كرد.

براي تنظيم مقدار ساعت در اين كنترل، بايد مقدار كل خاصيت Value را تغييـر دهـيم.

خاصيت Value يك متغير از نوع DateTime را دريافت م ي كند.

بنابراين براي اينكه فقط مقدار Hour را تغييـر دهـيم، يك متغير جديد از نوع DateTime تعريف كرده و تمام مقادير آن به جز مقدار Hour را برابر با مقادير قبلي قرار مي دهيم.

براي ايجاد يك متغير جديد از نوع DateTime از دستور new استفاده مي كنيم.

براي ايجاد يك متغير جديد از نوع DateTime بايد مقادير مختلف زمان را براي آن فـراهم كـرد.

مقـدار Year ، Month و Day را با استفاده از خاصيت Now كلاس DateTime بدست مـي آوريـم.

سـاعت را برابـر بـا سـاعت مـورد نظرمان (ساعت فرستاده شده به خاصيت Hour (قرار مي دهيم و دقيقه و ثانيه را هم برابر با صفر در نظر مي گيريم.

دومين موردي كه بايد در بلاك set تغيير كند، متن نشان داده شده در كنترل ليبل است كه بايد مقـدار جديـد سـاعت را نمـايش دهد:

در اين بخش مشخص نكرديم كه مت در آن ساعت مشغول به چه كاري است . در بخش امتحان  كنيد قسمت بعد ، اين مورد را نيز انجام مي دهيم

تا قسمت بعدی!
بدرود.


درباره نویسنده
سجاد اسدی
   سجاد اسدی

سجاد اسدی هستم دانشجوی رشته نرم افزار و علاقه مند به تدریس و یادگیری دروس مرتبط با تکنولوژی نرم افزار و اینترنت اشیاء جهت ارتباط با بنده مراجعه شود به آیدی سروش و تلگرام : @ordervira و پیج بنده در اینستاگرام instagram.com/sajjadred11 ""اللهم صل علی محمد و آل محمد"" برای شروع هیچ وقت دیر نیست. "الهم عجل لولیک الفرج"

دیدگاه بگذارید

avatar
  اشتراک  
اطلاع رسانی

aparat کانال آپارات

soroush کانال سروش

کانال آی گپ