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

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

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

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

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

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

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


 به نام خداوند جان آفرین حکیم سخن در زبان آفرین



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

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

قسمت و صد و هفتاد و هشتم


امتحان كنيد: اضافه كردن يك متد به كنترل ايجاد شده

  • بــه قــسمت ويرايــشگر كــد مربــوط بــه فايــل cs.UserControl1 برويــد و متــد زيــر را بــه كــلاس UserControl1 اضافه كنيد.
  • حال به قسمت طراحي فرم مربوط به Form1 برگرديد و با استفاده از جعبه ابزار يك كنتـرل Button جديـد روي فرم قرار دهيد.
  • خاصيت Name ايـن كنتـرل را بـا مقـدار btnFormName و خاصـيت Text آن را بـا مقـدار  Form Name تنظيم كنيد.
  • روي اين كنترل دو بار كليك كنيد و كد مشخص شده در زير را در متد مربوط به رويـداد Click ايـن كنتـرل اضـافه كنيد:
  • برنامه را اجرا كرده و روي دكمه ي Form Name كليك كنيد.
  • مشاهده مي كنيد كه كادر پيغامي نمايش داده شده و نام اولين فرم باز برنامه را اعلام مي كند.

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

ايجاد يك تابع و يا زير برنامه براي يك كنترل تفاوت چنداني با ايجاد يك تابع و يا زير برنامه براي يك كـلاس نـدارد .

البتـه توجـه كنيد متدي كه در اين قسمت ايجاد مي كنيد بايد از نوع Public باشد تا بتواند توسط افرادي كه از اين كنترل استفاده مي كنند مورد استفاده قرار بگيرد.

متدي كه در اين قسمت ايجاد مي كنيم عمل خاصي را انجام نمي دهد.

فقط با استفاده از خاصـيت OpenForms در كـلاس Application ليستي از تمام فرمهايي از برنامه كه هم اكنون باز هستند را دريافت مي كند و نام اولين فرم را در يك كـادر پيغام نمايش مي دهد.

براي استفاده از اين متد در برنامه، مانند استفاده از متد هاي مربوط به ديگر كنترل ها عمل مي كنيم .

يعني ابتدا نام كنترل را وارد مي كنيم سپس يك “.” قرار مي دهيم به اين ترتيب ليستي نمايش داده مي شود كه نام متد مورد نظر ما نيز در آن وجود دارد.

براي استفاده از متدي كه در اين قسمت اضافه كرده ايم حتي نيازي به كامپايل برنامه نيز وجود ندارد.

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

اضافه كردن رويداد به كنترل :

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

در اين قسمت مي خواهيم نحوه ي اضـافه كـردن رويـداد بـه يـك كنترل را بررسي كنيم.

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

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

به اين ترتيب هنگـامي كـه كـاربرروي هر كدام از اين كليد ها كليك كند رويداد مربوط به آن فراخواني مي شود.

نكته: توجه به اين نكته ضروري است كه هنگامي كه از يك كنترل در برنامه ي خود استفاده مي كنيد و براي مثال متـدي را بـراي رويداد Click آن مشخص مي كنيد، زمان رخ دادن رويداد Click به وسيله ي خود كنترل مشخص م ي شود .

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

امتحان كنيد: ايجاد و فراخواني يك رويداد

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

پس براي ايجاد يك رويداد نيز، ابتدا بايد ساختار توابعي كه اين رويداد مي تواند فراخواني كند را مشخص كنيم.

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

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

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

براي اين كار نيز بايد از كلمـه ي كليدي event به صورت زير استفاده كنيم .

پس كد مشخص شده در زير را به كلاس اضافه كنيد تا رويـداد مـورد نظرمان ايجاد شود:

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

در اين برنامه مي خواهيم رويداد هنگـامي فراخواني شود كه كاربر روي دكمه ي btnApplicationName كليك كند .

بنابراين كد مربوط به فراخواني رويداد را به صورت زير به متد btnApplicationName_Click اضافه مي كنيم.

برنامه را كامپايل كنيد تا مطمئن شويد خطاي دستوري در آن وجود ندارد.

چگونگی کارکرد برنامه را در قسمت صد و هفتاد و نهم ببینید.


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

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

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

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

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

soroush کانال سروش

کانال آی گپ