آموزش سیشارپ – بخش ۵۵
- مقدمه
در ادامه معرفی چند رویداد جدید در زبان برنامهنویسی سیشارپ که در جلسه شماره ۵۴ در رابطه با آنها بحث شد، در این قسمت نیز به معرفی برخی از مهمترین و پرکاربردین رویدادها میپردازیم. پس با ما همراه باشید.
- رویداد Leave
یکی از پرکاربردترین رویدادهایی که برای TextBox میتوان از آن استفاده کرد، رویداد Leave میباشد. بیشترین کاربرد این رویداد در زمینه Validate کردن اطلاعات وارد شده در جعبه متنها است. برای مثال، هنگامی که کاربری در یکی از جعبه متنها، ایمیل خود را وارد میکند، پس از ترک این Textbox و ورود به یک Textbox جدید، میتوانیم کدهای Validate کردن اطلاعات وارد شده را در این رویداد بنویسیم.
یک فرم در Visual Studio ایجاد کرده، سپس دو Textbox در آن قرار دهید؛ وارد Properties این Textboxها شوید؛ مقدار TabIndex اولین textbox را صفر و دیگری را یک قرار دهید. TabIndex تعیین کننده ترتیب ورود به Textboxها میباشد؛ هنگامی که با کلید Tab بخواهیم در میان آنها جابجا شویم.
در Textbox اول، وارد بخش رویدادهای آن شوید، سپس رویداد Leave را پیدا کرده و روی آن دوبار کلیک کنید.
با دابل کلیک کردن بر روی این رویداد کدهای زیر را در آن وارد کنید:
این کد در واقع بررسی میکند که «آیا مقدار داخل این Textbox، خالی هست یا خیر؟» در صورتی که صحیح بود، پیغامی مبتی بر خالی بودن Textbox برای کاربر بهنمایش گذاشته خواهد شد؛ اما کی؟ زمانی که از Textbox خارج میشوید!
به آخرین خط کد دقت کنید؛ متد Focus() باعث میشود که کاربر را وارد همان Textbox کند! کافیست یکبار برنامه را اجرا کرده و آن را امتحان کنید.
- معرفی رویداد SelectedIndexChanged
یکی از پرکاربردترین رویدادها برای ComboBoxها و ListBoxها، رویداد SelectedIndexChanged میباشد. این رویداد زمانی اتفاق میافتد که آیتمی را که در ComboBox و یا ListBox انتخاب شده است، عوض شود! (یعنی یکی دیگر را انتخاب کنید)
به تصویر زیر دقت کنید:
قصد داریم که چنین پروژهای را ایجاد کنیم؛ به نحوی که با توجه به اینکه کاربر کدام گزینه از سمت چپ را انتخاب کند، انواع آن را در سمت راست ببیند. مثلاً با انتخاب گزینه Credit Card، انواع آنها را که بر فرض مثال شامل Visa Card، American Express و … میشوند را بهنمایش بگذارد.
برای اینکار، کافیست که وارد رویداد مربوطه به این Listbox شوید و کدهای زیر را قرار دهید:
در اولین خط از کد، به عبارت تایپ شده در داخل شرط if دقت کنید؛ مقدار SelectedIndex، گزینه انتخابی در Listbox میباشد. توجه داشته باشید که این مقدار از صفر شروع میشود؛ یعنی اولین گزینه، دارای Index شماره صفر و دومین گزینه، دارای Index شماره یک میباشد.
در زیر آن، تابعی با نام loadListBox() قرار دادیم که درصورتی که شرط if برقرار شد، این تابع اجرا شود و گزینههای مربوط به Credit Card را در Listbox سمت راست نمایش دهد.
حال بعنوان تمرین، همین کارها را برای سایر گزینهها در Listbox سمت چپ انجام دهید!
عالی بود مرسی.