فونت زيبا سازفونت زيبا سازفونت زيبا سازفونت زيبا سازفونت زيبا سازفونت زيبا سازفونت زيبا ساز

لطفا از تمام مطالب دیدن فرمایید.
 فصل سوم _ کنترل روند اجرای برنامه _ دستورswitch
در بعضی مواقع باید شرط هایی را مشابه زیر بررسی کنید:
  • ایا نام مشتری برابرBryan است؟در این صورت عمل A را انجام بده.
  • آیا نام مشتری برابر Stephanie است؟در این صورت عمل B  انجام بده.
  • ایا نام مشتری برابر با Cathy است؟در این صورت عمل C را انجام بده.
  • ایا نام مشتری برابر با Betty است؟در این صورت عمل D  را انجام بده.
  • ایا نام مشتری برابر با Edward است؟در این صورت عمل E را انجام بده.
اگر بخواهید این کار را با استفاده از دستور if انجام دهید، باید ازکدی مشابه زیر استفاده کنید:
 در این حال اگر بخواهید بعد از مدتی کد را به صورتی تغییر دهید که به جای استفاده از نام مشتری از نام کوچک او استفاده کند، چه کاری باید بکنید؟در این حالت باید عبارت Customer.Name را در تمام دستورات if به Customer.FirstName تغییر دهیدکه کار بسیار وقت گیری است همچنین استفاده از این روش خوانایی برنامه را نیز کم می کند. درمثال زیر با روشی آشنا می شویم که بتوانیم بهتر این شرط ها را بررسی کنیم.

مثال1:

  • یک پروژه جدید به نام Switch Demo ایجاد کنیدوName مربوط به فرم را برابر Switch قرار دهید.
  • با استفاده از جعبه ابزار یک ListBox  به فرم اضافه کنید و خاصیت Name ان را برابر lstData ، خاصیت Dock را به Fill و خاصیت IntegralHeight را به False تغییر دهید.
  • هنگامی که کنترل ListBox در فرم انتخاب شده است به پنجره Properties  بروید و خاصیت Items  را انتخاب کنید و بر روی دکمه سمت راست آن کلیک کنید پنجره ای به نام String Collection Editor  نمایش داده خواهد شد. مطابق شکل زیر پنج نام مختلف را در ان وارد کنید:

List

  • بر روی کلید ok کلیک کنید تا نام ها به ListBox اضافه شودو سپس بر روی ان دوبار کلیک کنید تا متد مربوط به رویداد SelectedIndexChanged ایجاد شود. کد زیر را در ان وارد کنید:
برنامه را اجرا کنید هر بار که روی نامی در listbox کلیک کنید  کادر پیغامی مشابه شکل زیر مشاهده خواهید کرد.

Switch

چگونه کار می کند؟؟

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

Text 1

Text 2

استفاده از switch با و بدن حساسیت به نوع حروف:

همانند دستور if دستور Switch هم به بزرگی و کوچکی حروف حساس است به مثال زیر توجه کنید:

مثال 2:

استفاده از Switch با حساسیت به نوع حروف

  • قسمت طراحی  فرم  مربوط به مثال 1 را باز کرده و کنترلListBox  را در فرم انتخاب کنید. از پنجره Propertiesمربوط به کنترل ListBox ، گزینه Item را انتخاب کنید و روی دکمه جلوی این خاصیت کلیک کنید تا پنجره String Collection Editor باز شود.
  • اسامی موجود در این پنجره را به گونه ای تغییر دهید که همانند شکل زیر همه با حروف بزرگ نوشته شوند.

List 2

روی دکمه ok  کلیک کنید تا تغییرات این پنجره ذخیره شوند و سپس برنامه را اجرا کنید. مشاهده خواهید کرد که با کلیک بر روی ListBox هر یک از نامهای داخل کادر پیغامی که ظاهر می شود نام رنگ ها را نمایش نمیدهد.

چگونه کار می کند؟؟

دستورSwitch هم مانند دستور If نسبت به نوع حروف حساس است.بنا براین اگر در شرط دستور Switch  از نام های BETTY ویا CATHY استفاده کنید، هیچ حالت مناسبی یافته نخواهد شد این مورد مانند این است که به صورت زیر از دستور If استفاده کنید:

Text 3

 برنامه را اجرا کنید مجددا بر روی یکی از اسامی درون لیست باکس کلیک کنید مشاهده خواهید کرد که نام افراد انتخاب شده و رنگ مورد نظر او را نمایش می دهد.

لینک های دانلود پروژه در ادامه مطلب

امیدوارم از آموزش خوشتون اومده باشه(نظر در مورد نحوه آموزش یادتون نره) برای این مجموعه آموزش زحمت زیادی کشیده


 فصل سوم _ کنترل روند اجرای برنامه _ دستورswitch
در بعضی مواقع باید شرط هایی را مشابه زیر بررسی کنید:
  • ایا نام مشتری برابرBryan است؟در این صورت عمل A را انجام بده.
  • آیا نام مشتری برابر Stephanie است؟در این صورت عمل B  انجام بده.
  • ایا نام مشتری برابر با Cathy است؟در این صورت عمل C را انجام بده.
  • ایا نام مشتری برابر با Betty است؟در این صورت عمل D  را انجام بده.
  • ایا نام مشتری برابر با Edward است؟در این صورت عمل E را انجام بده.
اگر بخواهید این کار را با استفاده از دستور if انجام دهید، باید ازکدی مشابه زیر استفاده کنید:
 در این حال اگر بخواهید بعد از مدتی کد را به صورتی تغییر دهید که به جای استفاده از نام مشتری از نام کوچک او استفاده کند، چه کاری باید بکنید؟در این حالت باید عبارت Customer.Name را در تمام دستورات if به Customer.FirstName تغییر دهیدکه کار بسیار وقت گیری است همچنین استفاده از این روش خوانایی برنامه را نیز کم می کند. درمثال زیر با روشی آشنا می شویم که بتوانیم بهتر این شرط ها را بررسی کنیم.

مثال1:

  • یک پروژه جدید به نام Switch Demo ایجاد کنیدوName مربوط به فرم را برابر Switch قرار دهید.
  • با استفاده از جعبه ابزار یک ListBox  به فرم اضافه کنید و خاصیت Name ان را برابر lstData ، خاصیت Dock را به Fill و خاصیت IntegralHeight را به False تغییر دهید.
  • هنگامی که کنترل ListBox در فرم انتخاب شده است به پنجره Properties  بروید و خاصیت Items  را انتخاب کنید و بر روی دکمه سمت راست آن کلیک کنید پنجره ای به نام String Collection Editor  نمایش داده خواهد شد. مطابق شکل زیر پنج نام مختلف را در ان وارد کنید:

List

  • بر روی کلید ok کلیک کنید تا نام ها به ListBox اضافه شودو سپس بر روی ان دوبار کلیک کنید تا متد مربوط به رویداد SelectedIndexChanged ایجاد شود. کد زیر را در ان وارد کنید:
برنامه را اجرا کنید هر بار که روی نامی در listbox کلیک کنید  کادر پیغامی مشابه شکل زیر مشاهده خواهید کرد.

Switch

چگونه کار می کند؟؟

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

Text 1

Text 2

استفاده از switch با و بدن حساسیت به نوع حروف:

همانند دستور if دستور Switch هم به بزرگی و کوچکی حروف حساس است به مثال زیر توجه کنید:

مثال 2:

استفاده از Switch با حساسیت به نوع حروف

  • قسمت طراحی  فرم  مربوط به مثال 1 را باز کرده و کنترلListBox  را در فرم انتخاب کنید. از پنجره Propertiesمربوط به کنترل ListBox ، گزینه Item را انتخاب کنید و روی دکمه جلوی این خاصیت کلیک کنید تا پنجره String Collection Editor باز شود.
  • اسامی موجود در این پنجره را به گونه ای تغییر دهید که همانند شکل زیر همه با حروف بزرگ نوشته شوند.

List 2

روی دکمه ok  کلیک کنید تا تغییرات این پنجره ذخیره شوند و سپس برنامه را اجرا کنید. مشاهده خواهید کرد که با کلیک بر روی ListBox هر یک از نامهای داخل کادر پیغامی که ظاهر می شود نام رنگ ها را نمایش نمیدهد.

چگونه کار می کند؟؟

دستورSwitch هم مانند دستور If نسبت به نوع حروف حساس است.بنا براین اگر در شرط دستور Switch  از نام های BETTY ویا CATHY استفاده کنید، هیچ حالت مناسبی یافته نخواهد شد این مورد مانند این است که به صورت زیر از دستور If استفاده کنید:

Text 3

 برنامه را اجرا کنید مجددا بر روی یکی از اسامی درون لیست باکس کلیک کنید مشاهده خواهید کرد که نام افراد انتخاب شده و رنگ مورد نظر او را نمایش می دهد.

لینک دانلود پروژه Switch Demo

 

چگونه کار می کند؟؟

برای اینکه رشته داخل متغییر strname بدون حساسیت به نوع حروف بررسی شوند، می توانید از تابع ToLower تمام حروف ان را به به حروف کوچک تبدیل کند و سپس آن را با مقادیر مختلف مقایسه کنید.

Text 4

 در انتها، هنگامی که نام رنگ مورد نظر را بدست آوردید آن را با استفاده از یک کادر پیغام به کاربر نمایش دهید.

انتخاب های چندگانه:

در بررسی حالت های مختلف در شرط مقابل دستور Case اجباری نیست که فقط یک حالت را بررسی کنیم بلکه می توانید چند حالت را در مقابل یک case بررسی کنید تا در صورتی که هر کدام از ان ها رخ داد، کد مورد نظر اجرا  شود. در مثال زیر  زیر، برنامه بالا را به گونه ای تغییر می دهیم که با انتخاب نام از ListBox جنسیت فرد انتخاب شده را نمایش دهد.

مثال 3: انتخاب های چند گانه

محیط ویرایشگر کد را form1 باز کنید و تغییرات مشخص شده در زیر را در متد مربوط به رویداد SelectedIndexChanged  را اعمال کنید