• مقدمه

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

  • رویداد Leave

یکی از پرکاربردترین رویدادهایی که برای TextBox می‌توان از آن استفاده کرد، رویداد Leave می‌باشد. بیشترین کاربرد این رویداد در زمینه Validate کردن اطلاعات وارد شده در جعبه متن‌ها است. برای مثال، هنگامی که کاربری در یکی از جعبه متن‌ها، ایمیل خود را وارد می‌کند، پس از ترک این Textbox و ورود به یک Textbox جدید، می‌توانیم کدهای Validate کردن اطلاعات وارد شده را در این رویداد بنویسیم.

یک فرم در Visual Studio ایجاد کرده، سپس دو Textbox در آن قرار دهید؛ وارد Properties این Textboxها شوید؛ مقدار TabIndex اولین textbox را صفر و دیگری را یک قرار دهید. TabIndex تعیین کننده ترتیب ورود به Textboxها می‌باشد؛ هنگامی که با کلید Tab بخواهیم در میان آن‌ها جابجا شویم.

در Textbox اول، وارد بخش رویدادهای آن شوید، سپس رویداد Leave را پیدا کرده و روی آن دوبار کلیک کنید.

textbox_leave

با دابل کلیک کردن بر روی این رویداد کدهای زیر را در آن وارد کنید:

keyLeave2_p73

این کد در واقع بررسی می‌کند که «آیا مقدار داخل این Textbox، خالی هست یا خیر؟» در صورتی که صحیح بود، پیغامی مبتی بر خالی بودن Textbox برای کاربر به‌نمایش گذاشته خواهد شد؛ اما کی؟ زمانی که از Textbox خارج می‌شوید!

به آخرین خط کد دقت کنید؛ متد Focus() باعث می‌شود که کاربر را وارد همان Textbox کند! کافیست یک‌بار برنامه را اجرا کرده و آن را امتحان کنید.

  • معرفی رویداد SelectedIndexChanged

یکی از پرکاربردترین رویدادها برای ComboBoxها و ListBoxها، رویداد SelectedIndexChanged می‌باشد. این رویداد زمانی اتفاق می‌افتد که آیتمی را که در ComboBox و یا ListBox انتخاب شده است، عوض شود! (یعنی یکی دیگر را انتخاب کنید)

به تصویر زیر دقت کنید:
form_listboxes

قصد داریم که چنین پروژه‌ای را ایجاد کنیم؛ به نحوی که با توجه به اینکه کاربر کدام گزینه از سمت چپ را انتخاب کند، انواع آن را در سمت راست ببیند. مثلاً با انتخاب گزینه Credit Card، انواع آن‌ها را که بر فرض مثال شامل Visa Card، American Express و … می‌شوند را به‌نمایش بگذارد.

form_listboxes2

برای این‌کار، کافیست که وارد رویداد مربوطه به این Listbox شوید و کدهای زیر را قرار دهید:

listBoxCode2_P76

در اولین خط از کد، به عبارت تایپ شده در داخل شرط if دقت کنید؛ مقدار SelectedIndex، گزینه انتخابی در Listbox می‌باشد. توجه داشته باشید که این مقدار از صفر شروع می‌شود؛ یعنی اولین گزینه، دارای Index شماره صفر و دومین گزینه، دارای Index شماره یک می‌باشد.

در زیر آن، تابعی با نام loadListBox() قرار دادیم که درصورتی که شرط if برقرار شد، این تابع اجرا شود و گزینه‌های مربوط به Credit Card را در Listbox سمت راست نمایش دهد.

حال بعنوان تمرین، همین کارها را برای سایر گزینه‌ها در Listbox سمت چپ انجام دهید!