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

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

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

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

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

حضرت محمد (ص) : داناترین مردم کسى است که دانش دیگران را به دانش خود بیفزاید.

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


به نام خدایی که در این نزدیکی است.

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

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

قسمت نود و هشتم


  • حال به قسمت طراحي فرم برگرديد و از منوي Edit گزينه ي Paste را انتخاب كرده، روي آن دو بار كليك كنيد.
    در متد مربوط به رويداد كليك آن كه به طور اتوماتيك ايجاد مي شود،
  • كد زير را وارد كنيد :
  • آخرين گزينه در منوي Edit گزينه ي Select All است.
  • براي نوشتن كد مربوط بـه ايـن گزينـه بـا دو بـار كليك روي آن، متد مربوط به رويداد كليك آن را ايجاد كرده و كد زير را در آن وارد كنيد :

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

نوشتن كد منوي Edit را با گزينه Undo شروع كرديم . به علت اينكه در فرم خود دو TextBox داريم،

يا بايد بـه نحـوي بفهميم كه كدام TextBox در فرم انتخاب شده است،  يا از يك روش كلي استفاده كنيم كه براي هر دو TextBox كاربرد داشته باشد.

در اين متد از روشي كلي استفاده كرده ايم كه مي تواند براي هر دو TextBox به كار رود .

بــراي اينكــه بــه كنترلــي كــه هــم اكنــون در فــرم انتخــاب شــده اســت دسترســي داشــته باشــيم،

مــي تــوانيم از خاصــيت ActiveControl در فرم استفاده كنيم (همانطور كه در قسمتهاي قبل نيز ذكر شد براي دسترسي بـه خاصـيتهاي فـرم از كلمه كليدي this استفاده مي كنيم ).

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

با توجه به اينكه در اين فرم فقط دو كنترل وجود دارند كه مي تواننـد بــه عنــوان كنتــرل فعــال باشــند و هــر دوي آنهــا نيــز از نــوع TextBox هــستند،

پــس كنترلــي كــه بــه وســيله خاصــيت ActiveControl مشخص مي شود حتماً مي تواند به يك شيئ از كـلاس TextBox تبـديل شـود .

بنـابراين شـيئ جديدي از نوع TextBox تعريف مي كنيم و كنترلي را كه خاصيت ActiveControl برمي گرداند،

بعد از تبديل نوع، در آن قرار مي دهيم :

حال كه به TextBox كه در فرم انتخاب شده است دسترسي داريم، براي لغو آخرين عمل آن كافي است متد Undo را در آن فراخواني كنيم .

اين متد كه عضوي از كلاس TextBox است، مي تواند آخرين تغييري را كه كاربر در آن TextBox ايجاد كرده است را لغو كند.

نكته: در اين برنامه استفاده از خاصيت ActiveControl بسيار راحت بود،

زيرا فقـط دو كنتـرل TextBox در فـرم قرار داشت .

پس مي توانستيم بدون نگراني از به وجود آمدن خطا در برنامه، مقدار برگشتي از اين خاصيت را بـه شـيئ اي از كـلاس TextBox تبديل كنيم .

اما در شرايطي كه كنترل هـاي گونـاگوني در برنامـه وجـود دارنـد، ممكـن اسـت كـاربر يـك كنتـرل Button را انتخـاب كـرده و سـپس روي گزينـه ي Undo كليـك كنـد.

در ايـن صـورت مقـدار برگـشتي توسـط خاصـيت ActiveControl از نوع TextBox نخواهد بود و تبديل آن به TextBox نيز باعث ايجاد خطا در برنامه خواهد شد.

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

گزينه بعدي در منوي Edit ،گزينه Cut است. در اين گزينه نيز، براي كات كـردن مـتن، ابتـدا بايـد بـه كنتـرل فعـال در فـرم دسترسي داشته باشيم .

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

بعـد از مـشخص كـردن كنتـرل فعال در فرم و تبديل آن به شيئ از كلاس TextBox ،

كافي است متد Cut مربوط به آن را فراخواني كنيم.

ايـن متـد يكـي از عضو هاي كلاس TextBox است كه متن داخل كادر را از آن پاك كرده و در داخل كليپ برد قرار مي دهد :

عملكرد دكمه ي Cut در نوار ابزار نيز مشابه اين گزينه در نوار منو است .

بنابراين كافي است در متد مربوط به رويداد كليك از ايـن كنترل، متدي را كه براي گزينه Cut در نوار منو نوشتيم فراخواني كنيم :

به قسمت نود و نهم بروید.


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

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

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

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

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

soroush کانال سروش

کانال آی گپ