• مقدمه

در بخش ۵۳ام از سری آموزش زبان برنامه‌نویسی سی‌شارپ، شما با مقدمه‌ای از مفهوم رویداد یا همان Event آشنا شدید. اولین رویدادی که معرفی شد، رویداد Click بود؛ مثلاً اگر بر روی یک button کلیک شد، چه اتفاقی بیوفتد. برای نوشتن کدهای مربوط به این Event، بر روی button مورد نظرمان دابل کلیک می‌کردیم تا وارد بخش کدنویسی آن که مرتبط با رویداد Click بود، می‌شدیم.

در این بخش نیز با چندی از این رویدادها آشنا خواهید شد.

  • رویداد MouseDown

هر شیء‌ای که در سی‌شارپ وجود دارد، شامل رویدادهای مختلفی است. برای مشاهده اینکه هر یک از کنترلرهای موجود دارای چه Eventهایی می‌باشد، کافیست که وارد Properties آن شیء شوید (مثلاً وارد بخش Properties خود Form1 شده) و مطابق تصویر زیر، بر روی آیکونی که با علامت برق است،‌ کلیک کنید.

properties_events

هنگامی که بر روی این آیکون مشخص شده کلیک کنید، لیستی مشابه لیست زیر را خواهید دید:

properties_events2

با رویداد Load که مشخص شده است، آشنا هستید. در واقع بدین معنی است هنگامی که یک فرم بارگذاری می‌شود، چه کدهایی می‌بایست که اجرا شوند. به‌دنبال رویداد MouseDown بگردید و روی آن دابل-کلیک کنید تا وارد بخش کد نویسی مربوط به رویداد MouseDown شوید. کد زیر برای شما به نمایش گذاشته خواهد شد:

mouseDown_p70

در بین پرانتزهای مربوط به آرگومان‌های این تابع -اگر از قبل یادتان باشد- می‌بینید که همچنان متغیر sender زا نوع object مستقر است. اما می‌بینید که نوع جدیدی از آرگومان e وجود دارد که از جنس MouseEventArgs می‌باشد.

توسط این متغیر می‌توانیم متوجه شویم که کاربر کدام یک از کلیدهای موس را فشار داده است؛ کلیک راست یا کلیک چپ! در واقع خود رویداد MouseDown به معنی فشرده شدن کلید موس است، اما اینکه کدام یک فشرده شده باشد، می‌بایست از طریق متغیر e فهمید. پس کدهای زیر را بنویسید:

mouseDown3_p70

نرم‌افزار خود را اجرا کرده و سپس دو کلید موس خود را امتحان کنید؛ خواهید دید که پیغام مرتبط با کلید فشرده شده برای شما نمایش داده خواهد شد.

  • رویداد KeyDown

این رویداد نیز کاملاً شبیه به MouseDown است، با این تفاوت که در این رویداد، منظور، فشردن یکی از کلیدهای صفحه کلید است. توسط این رویداد می‌توانید که بسته به نوع کلیدی که کاربر شما بر روی صفحه کلید خود که می‌فشارد، عمل بخصوصی انجام شود.

مشابه قسمت قبل، یک textbox به فرم خود اضافه کرده و سپس وارد پنجره Properties و سپس بخش Eventها شوید؛ رویداد KeyDown را پیدا کرده و بر روی آن دابل کلیک کنید تا وارد بخش کدنویسی مربوطه شوید.

keydown_event

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

keyDown2_p71

این بار، به آرگومان دوم این تابع دقت کنید؛ جنس آن KeyEventArgs می‌باشد. بر آنکه بینیم که کدام کلید از صفحه کلید فشار داده شده است، از این آرگومان استفاده می‌کنیم.

keydata_keys

حال کدهای زیر را برای TextBox خود بنویسید:

keyDown5_p71

برنامه خود را اجرا کرده؛ کلید A را در TextBox خود وارد کنید؛ خواهید دید که یک MessageBox برای شما نمایش داده خواهد شد.