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

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

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

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

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

حضرت محمد (ص) : طلب دانش بر هر مسلمانى واجب است. خداوند جويندگان دانش را دوست دارد.

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


به نام خداوند لوح و قلم
حقیقت نگار وجود و عدم
خدایی که داننده ی رازهاست
نخستین سرآغاز آغازهاست


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

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

قسمت دویست و یکم


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

خوشبختانه كلاس ColorPaletteButton قسمت پيچيده اي ندارد كه درك آن مشكل باشد و يـا نيـاز بـه توضـيح زيادي داشته باشد .
اين كلاس از دو فيلد براي نگهداري رنگ دكمه و نيز مستطيلي كه براي آن دكمه كشيده مي شود تشكيل شـده است. همچنين در اين كلاس يك متد سازنده وجود دارد كه مقدار فيلد نگهدارنده ي رنگ را به صور ت اتوماتيـك بـر اسـاس ورودي متد تنظيم مي كند.

اين كلاس داراي متدي به نام Draw است و زماني فراخواني مي شود كه بخواهيم اين دكمه را در پالت رنگ قرار دهيم. براي اين كار يك مربع توپر با استفاده از رنگي كه اين دكمه معرف آن است رسم مي شود.

سپس يك مربع توخالي به رنگ سياه در اطراف مربع اول رسم مي شود كه همانند يك حاشيه براي آن محسوب مي شود.

همچنين اين كلاس داراي متدي به نام SetPosition است كه به وسيله ي پارامترهايي كه دريافت مي كند،
مكان رسم دكمه را در پالت رنگ تعيين مي كند.

به اين ترتيب هنگامي كه اندازه ي فرم تغيير كرد مي توانيم موقعيت جديد دكمه را (يعني مكان گوشه ي بالا سمت چپ آن را) به همراه اندازه ي دكمه به اين متد فرستاده و سپس با فراخواني متد Draw دكمه را در اين مكان جديد رسم كنيم.

احتمالاً جالب ترين قسمت اين برنامه متد ColorPalette_Resize است. الگوريتمي كه در اين قسمت براي تعيين موقعيت دكمه ها استفاده مي كنيد،
الگوريتمي است كه معمولاً براي تعيين مكان كنترل ها و يا شيئ هاي گرافيكي ديگر به كار مي رود.
براي رسم كنترل اندازه ي هر كدام از آنها (كه در اين قسمت شامل اندازه ي خود دكمه و اندازه ي فضاي بين دكمه ها است و ) نيز محدوده ي هر يك را نيز مي دانيم.

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

متغيير intX مكان افقي و متغيير intY مكان عمودي را نگهداري مي كند و مقدار اوليه ي آنها نيز (۰,۰) است.

به اين معني كه اولين دكمه در موقعيت (۰,۰ (در كنترل قرار خواهد گرفت.

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

در صورتي كه فضايي در آن قسمت وجود نداشت، مقدار عمودي را (intY) به اندازه ي طول يك دكمه و نيز فاصله ي بين دو دكمه به پايين منتقل كرده و مقدار افقي را برابر با صفر قرار مي دهيم تا مجدداً از ابتداي خط براي رسم دكمه ها استفاده كند.

در آخر نيز متد Invalidate در كنترل را فراخواني مي كنيم تا مشخص كنيم كه ظاهر اين كنترل نا معتبر است و بايد توسط ويندوز مجدداً رسم شود.

در قسمت دویست و دوم با ” پاسخ دادن به كليك ها ” آشنا میشوید.


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

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

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

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

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

soroush کانال سروش

کانال آی گپ