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

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

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

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

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

حضرت علی (ع): هر چیزی زکات دارد ، و زکات علم نشر آن است!

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


به نام پروردگار جهان

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

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

قسمت صد و بیست و ششم


ادامه قسمت صد و بیست و پنجم


  • خاصيت Name كنترل ListBox را به lstUsers تغيير دهيد.
  • خاصــيت Name كنتــرل NumericUpDown را بــه nupMinPasswordLength ،خاصــيت Maximum آن را به ۱۰ و خاصيت Value آن را به ۶ تغيير دهيد
  • با استفاده از پنجره Solution Explorer ،كلاس جديدي به نام User بـه برنامـه اضـافه كنيـد و كـد مشخص شده در زير را در آن قرار دهيد:
  • به قسمت ويرايشگر كد مربوط به Form1 برويد و كد زير را به آن اضافه كنيد:
همـــانطور كـــه بـــه خـــاطر داريـــد بـــراي اســـتفاده از كـــلاس ArrayList بايـــد فـــضاي نـــام   ;using System.Collections  را  به برنامه ي خود اضافه كنيد .

حال، متد زير را به كلاس مربوط به Form1 اضافه كنيد:

به قسمت طراحي مربوط به Form1 برگرديد و بر روي فرم دو بار كليك كنيد.

به اين ترتيـب متـد مربـوط بـه رويـداد Load اين فرم به صورت اتوماتيك ايجاد مي شود. سپس كد مشخص شده در زير را در اين متد وارد كنيد:

مجدداً به قسمت طراحي Form1 برگرديـد و روي كنتـرل nupMinPasswordLength دو بـار كليـك كنيد.

به اين ترتيب متد مربوط به رويداد ValueChanged اين كنترل به صورت اتوماتيك ايجاد مي شود . سپس كد زير را در اين متد وارد كنيد:

حال مي توانيد برنامه را اجرا كنيد. با اجراي برنامه بايد با فرمي مشابه زیر ببینید.

عدد موجود در كنترل NumericUpDown را كم و يا زياد كنيد .

مشاهده خواهيد كرد كـه اعـداد داخـل پرانتـز در ليست نيز كم و يا زياد مي شوند.

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

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

به اين ترتيب به ويژوال سی شارپ  مي گوييم كه مي خواهيم اين عضو بين تمام اشيايي كه از اين كلاس نمونه سازي مي شوند به اشتراك گذاشته شود .

اعضاي static در يك كلاس مي توانند به وسيله ي اعضاي غير static آن كلاس مورد استفاده قرار گيرند.

براي مثال در برنامــه ي بــالا، عــضو MinPasswordLength كــه يــك عــضو static اســت بــه وســيله ي خاصــيت Password مورد استفاده قرار گرفت :

نكته مهمي كه در اينجا همواره بايد مدنظر داشته باشيد اين است كه بر خلاف password _و Password كه فقط بـه يك شيئ از كلاس User تعلق دارند (به عبارت ديگر بازاي هر شيئ از اين كلاس، يك فيلد password _و يك خاصيت Password وجود دارد )، اما MinPasswordLength به تمام اشيايي كه از اين كلاس ايجاد مي شوند تعلـق دارد،

بنابراين اگر تغييري در اين فيلد ايجاد شود، اين تغيير بر تمام اشياي موجود اثر خواهد گذاشت .
در فرم برنامه از متد UpdateDisplay براي پر كردن ليست استفاده كرده ايم .

كد هاي اين متد هم كاملاً واضح هـستند . فقط دقت داشته باشيد كه براي دسترسي به اعضاي Static يك كلاس نمي توانيد از اشياي نمونه سـازي شـده از آن كـلاس
اســـتفاده كنيـــد .

بـــراي مثـــال در متـــد UpdateDisplay ،شـــيئ objUser حـــاوي فيلـــدي بـــه نـــام MinPasswordLength نخواهد بود .

براي دسترسي به اين اعضا همانطور كه مشاهده مي كنيد بايد از نام خود كـلاس استفاده كرد .

اين موارد هنگامي كه كاربر عدد موجود در كنترل NumericUpDown را تغيير مي دهد جالب تر مـي شـود .

در ايـن هنگـام خاصيت MinPasswordLength تغيير مي كند، اما چون اين فيلد به شيئ خاصي تعلق ندارد نيازي نيست كه اين فيلـد را براي تك تك اشيا تغيير دهيد .

بلكه كافي است با استفاده از نام كلاس، فقط يك بار مقدار اين فيلد را عوض كنيد تـا كـل اشـياي نمونه سازي شده از كلاس تغيير كنند.

البته مقدار خاصـيت Value از كنتـرل NumericUpDown از نـوع Decimal اسـت و بـراي اينكـه آن را در فيلـد MinPasswordLength قرار دهيم بايد آن را به يك عدد صحيح تبديل كنيم .

براي اين كار همانطور كه در بخش هاي قبلي گفتم بايد از عملگر () به صورت زير استفاده كنيم :

ادامه این بخش را در بخش صد و بیست و هفتم ببینید.

 


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

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

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

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

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

soroush کانال سروش

کانال آی گپ