نسخه آزمایشی

دانلود فیلم آموزشی event ها در سی شارپ
دانلود فیلم آموزشی event ها در سی شارپ

دانلود رایگان فیلم آموزشی event ها در سی شارپ + سورسدانلود فیلم آموزش event ها در سی شارپ

امروز یه آموزش تصویری خواهیم داشت در مورد Event ها در سی شارپ.این آموزش پس از آموزش های delegate قرار داره .پس اگه به delegate ها تسلط ندارید پیشنهاد می شود ابتدا ان جلسات را مشاهده کنید  وسپس رویداد ها در سی شارپ

لینک دانلود جلسه اول delegate     لینک دانلود جلسه  دوم delegate     لینک دانلود جلسه سوم delegate  

دانلود رایگان فیلم آموزش event ها در سی شارپ

مدرس:سید عبدالله محمودزاده

مدت آموزش:۴۲ دقیقه و حجم فایل:۳۹٫۵ مگابایت

 ********

اهداف آموزشی این جلسه:

-یادگیری ایجاد یک کنترل سفارشی

-مرور و آشنا شدن با مفهوم کاربردی ارث بری در سی شارپ

– یادگیری اضافه کردن یک property وصفت هایش به لیست خصوصیت های کنترل

– یادگیری تعریف delegate و event

-یادگیری ایجاد وتعریف یک event سفارشی (custom event)

– یاد گیری استفاده از این custom event

برای بتهر جا افتادن مبحث رویداد ها در ذهن دانشجویان عزیز یک مثال در ویدئو طراحی کردیم که از این قرار بود که یک کنترل text box سفارشی با نام ModernTextbox ایجاد می کنیم که از text box مایکروسافت ارث بری می کند.در ادامه ما یک پراپرتی برای اینکه محتوای text box حروف بزرگ باشد یا خیر می نویسیم.این property مقدار true/false اختیار می کند.یک رویداد سفارشی (Custom event) می نویسیم که هر گاه مقدار خصوصیت از true به false تغییر کرد این رویداد اجرا شود.خوب هر گاه این رویداد اجرا شود متوجه می شویم مقدار خصوصیت تغییر کرده است پس کافیست بررسی کنیم که آیا مقدار جدید true  است اگر true  باشد انگاه کافیست محتوای ModernTextBox را به حروف بزرگ تبدیل کنیم.اما برای کسانی که قادر به دانلود فیلم آموزشی نیستند به صورت زیر توضیح داده ایم:

در ابتدا یک پروژه به صورت زیر از در ویژوال استودیو ایجاد می کنیم.

ایجاد پروژه جدید

حالا یک پروژه جدید ایجاد شده است.می خواهیم در این پروژه یک کلاس به نام ModernTextBox که متعلق به خودمان هست را از کلاس Text Box مایکروسافت ارث بری کنیم و روی آن یک سری کار انجام دهیم.از قبیل افزودن یک property جدید به کلاس و نوشتن یک event برای این property که وقتی از True به False تغییر کرد و بالعکس این رویداد اجرا شود.

  • خروجی پروژه ما یک فایل dll خواهد بود که این ModernTextBox ما در آن فایل خواهد بود  و با Add کردن این فایل dll به references پروژه ی جدید می توانیم از کنترل طراحی شده مان استفاده کنیم.

برای اینکه از این فایل dll تولیدی بتوانیم استفاده کنیم یک پروژه جدید از نوع windows Form Application به solution پروژه مان اضافه می کنیم.برای این کار کافیست روی solution پروژه راست کلیک کرده و از آیتم Add گزینه New Project انتخاب شود.یک پروژه جدید با نام WindowsFormsApplication1 به solution افزوده می شود.اگر به سورس کنترل جدید برویم(با F7 میسراست.) و کلاسModernt Text Box  را از text box ارث بری می کنیم.برای اینکار userControl را به TextBox تغییر می دهیم.

 

حالا اگه به حالت design کنترل برویم مشاهده می کنیم که یک خطا یا اخطار صورت گرفته است.کافی است روی لینک Ignore and continue کلیک کنیم و در ادامه کنترل Text Box خود مایکروسافت از پنجره ToolBox را با درگ کردن و رها کردن در صفحه اضافه کنیم.دیگر خطا بر طرف شده است و حالا کارمان را شروع می کنیم.

رفع خطای حاصل از تغییرات ما

دوباره به کلاس modernTextBox بر می گردیم. خب در ابتدا یک فیلد با سطح دسترسی خصوصی با نام isUpperCase  به کلاس اضافه می کنیم و برای آن یک   property  به نام IsUpperCaseProp ایجاد می کنیم.

 

حال اگر پروژه ModernTextBox در پنجره Solution Explorer را Rebuild کنیم و از همان پنجره به پروژه WindowsFormsApplication1 برویم می توانیم کنترل جدیدی که درحال طراحی آن هستیم را در پنجره toolbox مشاهده کنیم و به روی فرم خود اضافه کنیم. و با ماوس کنترل جدید را انتخاب می کنیم.سپس اگر به پنجره Property برویم در بین همه ی خصوصیات های مختلف می توانیم خصوصیت جدید که ما با اسم IsUpperCaseProp ایجاد کردیم را مشاهده کنیم.حالا اگر بخواهیم استاندارد مایکروسافت را بهتر رعایت کنیم و یک سری دسته بندی و توضیح سفارشی خودمان را داشته باشیم کافیست دو Attribute به خصوصیت IsUpperCaseProp اضافه کنیم به صورت زیر:

استاندارد سازی در طراحی کنترل سفارشی

حالا باید شروع کنیم به نوشتن یک Event سفارشی:

خب ما در چند جلسه مفصل در مورد delegate ها در سی شارپ آموزش دادیم .برای تعریف یک Event ما نیاز داریم که قبلا یک delegate مشخص تعریف کرده باشیم.پس ابتدا یک delegate تعریف می کنیم و در ادامه با استفاده از این تعریف به سراغ تعریف یک رویداد یا event می رویم.

 

اما ممکن است کلاس ChangePropertyEventArgs نا آشنا برایتان باشد.خب لازم هست بگوییم که ما در سی شارپ یک کلاس پایه به نام EventArgs داریم که هر وقت که رویدادی اتفاق می افتد نیاز داریم که اطلاعاتی در مورد آن رویداد بدست آوریم.مثلا اگر کلیدی فشارداده می شود این یک رویداد هست.اما گاهی لازم هست که بدانیم کدام کلید فشار داده شده است این یک اطلاع یا data در مورد Eventهست.خب ما در این پروژه برای تسلط بیشتر سعی کردیم یک EventArgs سفارشی ایجاد کنیم و این کار را با افزودن یک کلاس دیگر به پروژه moderntextBox به نام ChangePropertyEventArgs و ارث بری کردن آن از EventArgs انجام داده ایم.

 

وقتی که یک event فعال می شود اصطلاحا می گوییم عاملی باعث Raise(بالا آمدن-بیدارشدن) رویداد شد.که در این مثال ما یک متد تعریف می کنیم که وظیفه ی آن همین باشد.و به معنایی با استفاده از این متد رویداد را فراخوانی می کنیم.پس یک متد با نام به کلاس ModernTextBox می افزاییم.

 

دقت کنید امضای این تابع دقیقا باید با امضای delegate یکسان باشد تا هیچ خطایی نداشته باشیم.خب در درون تابع از تهی نبودن رویداد و اتصال آن به متد مورد نظر در یک شرط if بررسی انجام می دهیم.در صورت درست بودن شرط رویداد را فراخوانی می کنیم.دو شی به عنوان پارامتر ارسال می شود یکی منبع رویداد که اینجا شی this می باشد و یکی کلاسی که اطلاعاتی از رویداد در اختیار ما قرار دهد که اینجا کلاس ChangePropertyEventArgs می باشد.

همه ی این کار های ما برای این  بود که وقتی خصوصیت(یا همان property ) ما از True به False یا بالعکس تغییر کرد رویداد فراخوانی شود.قاعدتا بدیهی است تغییر در متد set این خصوصیت صورت می گیرد پس باید set مربوط به خصوصیت را مجددا بازنویسی کنیم:

 

ابتدا در متد set بررسی می کنیم که آیا مقدار جدید(value) با مقدار اولیه( فیلد this.isUpperCase) متفاوت هست اگر متفاوت باشد و شرط درست باشد آنگاه می توانیم event را استفاده کنیم.حال در درون if مقدار قدیمی را در متغیر bool و مقدار جدید را در فیلد this.isUpperCase می ریزیم ومتدی که از قبل برای فعال کردن رویداد نوشتیم یعنی متد OnIsUpperCaseChange را فراخوانی می کنیم.

خوب برای تست کردن رویدادمان روی پروژه ی (WindowsFormsApplication1) رفته و روی فرم یک دکمه قرار می دهیم و در رویداد کلیک آن کد زیر را قرار می دهیم.این کد باعث می شود که هر بار که روی دکمه کلیک می شود خصوصیت کنترل روی فرم از True به False و بالعکس تبدیل شود.و چون در حال تغییر است پس رویداد فراخوانی میشود.

 

حالا هدف ما این است که در صورتی که این تغییر ازFalse به True بود یعنی جدید ترین مقدار True بود آنگاه حروف داخل ModernTextBox روی فرم به حروف بزرگ تبدیل شود.پس کنترل ModernTextbox1 روی فرم را انتخاب کرده  و پنجره properties  می رویم و در لیست رویداد ها روی رویدادی که خودمان در دسته ی ModernTextbox Events ایجاد کردیم می رویم با کلیک کردن روی آن رویداد،متد مورد نظر ایجاد شده و در داخل آن کد تبدیل رشته کاراکتری به حروف بزرگ را می نویسیم.

LearningTV.ir | شبکه ی آموزشی فارسی زبانان

 

همانطور که در کد بالا می بینید شی e که از کلاس ChangePropertyEventArgs است یک سری اطلاعات از رویداد اجرا شده در اختیار ما قرار داد که ما از آن استفاده کردیم. وبه واقع فلسفه ی این کلاس که از EventArgs ارث بری کرده بود هم همین است.

از فایل dll ساخته شده در سایر پروژه ها هم می توانیم استفاده کنیم  کافیست در آن پروژه به reference رفته و این dll را Add کنیم.به عبارتی لزومی ندارد حتما فایل dll در داخل همان پروژه کنار پروژه ی ModernTextBox در یک solution باشد.

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

– قرار داد نامگذاری متدی که باعث فراخوانی رویداد می شود به صورت OnMethodName (همانطورکه در مثال هم دیدیم OnIsUpperCaseChange)

– قرارداد نام رویداد کلاس هایی که از EventArgs ارث بری می کنند به صورت ClassNameEventArgs (در مثال ما ChangePropertyEventArgs)

– عضوی که Handle کردن رویداد را بر عهده دارد به صورت  NameEventHandler نامیده می شود.

……

 

اما همه ی مبحث ما خلاصه می شود در تصویر زیر:

دانلود فیلم آموزش event ها در سی شارپ

۱۹ نظر برای "دانلود فیلم آموزشی event ها در سی شارپ"


  1. omid گفت:

    سلام سید
    می خواستم بدونم امکان داره برات پکیج proTile Map Editor
    http://forum.unity3d.com/threads/203107-RELEASED-proTile-Map-Editor

    یا ۳D TileMap Editor DE
    http://u3d.as/content/distant-evolution/3d-tile-map-editor-de/3Ui

    برای فروش بزاری
    ممنون

  2. دلتنگ اسمان گفت:

    با سلام. مجموعه های اموزشی برای ما مبتدیهاعالیه. خواستم ازتون تشکرکنم.در ضمن میخواستم اموزشهای پیشرفته سی شارپ همراه سورس هم اگه دارید من خریدار هستم.بعضی مفاهیم رو خوب متوجه نشدم مثل delegateها. در تمام جاهایی که از delegate استفاده کردید میشد از خود متد هم استفاده کرد به هر حال من کاربردش رو خوب متوجه نشدم.

    • سید عبدالله محمودزاده گفت:

      ان شاءالله فروشگاه که راه اندازی شد و پک آموزش زبان سی شارپ که به طور کامل و با کیفیت HD تهیه شد می توانید خریداری کنید.
      در مورد delegate ها توضیح داده شد که مشابه یک نوع اشاره گر به توابع هست.می توانید با یک delegate هر تعداد تابع که امضای آن با delegate تطابق دارد را اجرا کنید.هم چنین توابعی را از لیست اجرا حذف یا اضافه کنید.قاعدتا این کار با delgate ها بهتر انجام می شود تا با متد ها.در ضن اینکه کاربردش همین event ها بود اگه ویدئو را کامل دیده باشید.یکی از کاربردهای دیگرش Thread ها هست یعنی وقتی که بخواهید برنامه شما چند نخی باشد و هر نخ یک کار متفاوت را انجام دهد و…..

  3. مریم گفت:

    متاسفانه من هیچ کدوم از فیلم های سایت را نمی تونم دانلود کنم.

  4. مریم گفت:

    سلام.مفهوم delegate ، Event ،Generic و خیلی چیزهای دیگر را کاملا دریافتم. هر چه در کتاب ها و اینترنت جستجو می کردم،باز هم برایم نامفهوم بودند.از شما تشکر می کنم که اینقدر با صبر و حوصله مطالب مهم بازار کار را تشریح کردید.چون من همه ی فیلم های دات نت را از سایت دانلود کردم و دیدم ،متوجه شدم سری فیلم ها کامل نبود و چند تا جا افتاده بود.امکانش هست که پکیج کامل را از شما خریداری کنم؟فیلم ها واقعا ارزشمند اند.

    • سید عبدالله محمودزاده گفت:

      سر کار مریم خانم با تشکر از نظر و دلگرمی و حمایت شما.چون دیدیم علاقه مندان به سی شارپ زیاد هستند برای این که سطوح آن ها هم متفاوت می باشد مثل بعضی ها مبتدی هستند بعضی ها حرفه ای باعث شد مباحث رو جدا جدا شروع کنیم.مثلا هم از چیز های ساده و هم چیز های پیشرفته.

      در ضمن در حال طرح ریزی برای پکهای کامل زیر هستیم:
      ۱- دسترسی منابع داده یعنی ADO.NET,LINQ,Entity Framework
      ۲- برنامه نویسی پیشرفته شبکه Socket Programming و برنامه نویسی مباحث پیشرفته SMS,Blutoth یا منشی تلفن در سی شارپ ,….
      ۳- برنامه نویسی ویندوز سرویس WCF
      ۴- برنامه نویسی طراحی وب با ASP.NET دوره ی کامل
      ۵- برنامه نویسی مباحث مقدماتی و متوسط سی شارپ مثل Reflection ها ،Threading ,Collections ، کار با رشته ها و…..
      ۶- برنامه نویسی موبایل دوره ی آموزشی اندروید(به صورت کامل )
      ۷- برنامه نویسی جاوا دوره ی کامل
      ۸- برنامه نویسی طراحی وب دوره ی کامل(هم اکنون چند قسمت در سایت موجود هست) و شامل کل مباحث HTML5,Css3,Javascript,Jquery,Php,Ajax,Json می باشد.
      ۹- برنامه نویسی کامل پایگاه داده SQL Server 2012(هم اکنون به صورت رایگان در سایت گام به گام قرار می گیرد.)
      ۱۰- برنامه نویسی کامل پایگاه داده Access(تا حالا ۱۰ جلسه به صورت رایگان در سایت موجود می باشد.)
      و…..

      در صورت کامل شدن هر یک از پک ها شما استثناء با ۲۰ تا ۳۰ درصد نسبت به دیگران از تخفیف بهره مند خواهید شد.ایمیل شما اگه درست باشه من دارم و اطلاع رسانی خواهد شد.باید چند وقتی صبر کنید……

      راستش دیگه تصمیم گرفته بودم که آموزش چندانی درست نکنم.چون این قدر زحمت کشیده می شد و مخاطب اصلا حمایت نمی کرد.اما با این نظر شما دوباره ترغیب به ادامه شدم.

      با تشکر موفق باشید.

      • مریم گفت:

        نمی دانید این چند روزه با چه ذوق و شوقی فیلم های شما را دنبال و برایتان دعا می کردم.من چون مدتی در بازار کار بوده ام،اهمیت تک تک مطالبی که شما آموختید را می دانم.در دنیای برنامه نویسی ایران ،افرادی مثل شما که ذکات علم را نشر آن می دانند،کمیاب هستند.
        با جدا کردن مباحث به صورت پیشرفته و مبتدی کاملا موافقم.بی صبرانه منتظر پک های در حال تدوین شما،هستم.
        بله آدرس ایمیل من درست است.سپاسگزارم که من را مورد لطف خود قرار دادید.
        برای شما آرزوی سلامتی و پیروزی دارم.

      • Delphia گفت:

        Felt so hopeless looking for answers to my qu.ioitns..euntsl now.

  5. حامد گفت:

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

  6. علی گفت:

    حالم بهم خورد
    اول طرح مسئله کن بعد بیا بگو مطالب رو
    ما ایرانیا میترسیم کسی چیزی ازمون یاد بگیره

    • سید عبدالله محمودزاده گفت:

      ادبیات هر کسی نشانه شخصیت و سطح درک و شعور خود اوست.نظرات بالاتر رو بخونید خیلی ها با کمک این فیلم ها مفاهیم delegate ، event,collection,generic و… رو کامل یاد گرفتن.بنده اگر قرار بود بترسم کسی از من چیزی یاد بگیره نمیودم کلی فیلم رایگان بسازم استاد!!!!!!!!!
      دوره ی شی گرایی در سی شارپ کاملا رایگان هست.
      دوره ی کامل SQL Server کاملا رایگان هست.
      دوره ی HTML در ۱۵ قسمت و CSS در ۴۰ قسمت تا این تاریخ رایگان.
      دوره ی PHP مقدماتی رایگان
      دوره ی کار با اسناد PDF در سی شارپ رایگان
      دوره ی کار با MUltimedia در سی شارپ رایگان
      و……

  7. مونا گفت:

    سلام
    خسته نباشید.میخواستم بپرسم پسورد این فایلا چیه؟

ارسال دیدگاه

نام (*)
پست الکترونیکی (*)
وبسایت

There are no products