• مقدمه

در بخش پیشین از آموزش سی‌شارپ، نحوه ایجاد یک منو برای فرم خود را فرا گرفتید. اضافه کردن چنین منویی تقریباً در اغلب نرم‌افزارهایی که در آینده خواهید نوشت لازم است و دسترسی به بخش‌های مختلف نرم‌افزار را راحت‌تر می‌کند.

این منو قطعاً بدون آنکه عملی را انجام دهد که فایده‌ای ندارد. پس در این بخش فرا خواهیم گرفت که چگونه برای هر بخشی کدی را بنویسیم تا این منوها، هرکدام، یک قابلیتی را انجام دهند.

  • فعال کردن منوی Quit

اولین و مهم‌ترین بخش منوها که در تمامی نرم‌افزارها وجود دارد، منوی Quit می‌باشد. شاید در کمتر برنامه‌ای می‌توانید گزینه‌ای در منو برای خروج از برنامه را پیدا نکنید. پس اول از همه، شروع می‌کنیم به نوشتن کد مربوط به خروج!

در فرم خود، بر روی منوی File کلیک کنید تا منو برای شما باز شود و سپس بر روی Quit دابل-کلیک کنید تا وارد بخش کدنویسی مربوط به این گزینه شوید.

تابعی که از آن برای خروج از برنامه استفاده می‌شود، تابع زیر است:

Application.Exit();

این تابع در هر مرحله‌ای که اجرا شود، باعث خواهد شد که کاربر از نرم‌افزار خارج شود. پس برنامه‌ی خود را یک‌بار اجرا کنید و آن امتحان کنید؛ خواهید دید که با کلیک بر روی Quit (یا فشردن کلیدهای ترکیبی) برنامه‌ی شما خاموش می‌شود.

شما می‌توانید کاری کنید تا برنامه شما کمی جالب‌تر به‌نظر برسد؛ مثلاً با استفاده از یک Message Box،‌ از کاربر بپرسید که آیا واقعاً می‌خواهد از برنامه خارج شود یا نه. پس کد زیر را جایگزین کد بالا کنید:

if (MessageBox.Show(“Really Quit?”, “Exit”, MessageBoxButtons.OKCancel) == DialogResult.OK)

{

            Application.Exit();

}

ابتدا کد بالا را تشریح می‌کنیم. اول کاری با دستور شرطی IF نداشته باشید و به داخل پرانتزهای آن توجه کنید. می‌بینید که یک MessageBox تعریف کردیم که از کاربر سوال می‌کند که آیا واقعاً می خواهد از برنامه خارج شود یا نه! در نهایت هم برای فرم ما، دو کلید OK و Cancel تعریف کردیم. (توسط کد MessageBoxButtons.OKCancel)

در مقابل آن، علامت دو-مساوی قرار داده و گفتیم که اگر DialogResult (=نتیجه Dialog) OK باشد، پس وارد کد بشود. در واقع، دستور شرطی IF چک می‌کند که آیا مقدار DialongResult برابر با OK بوده است یا نه؛ اگر چنین بود، پس وارد بدنه IF می‌شود و تابع مربوط به خروج از برنامه را اجرا می‌کند.

پ.ن: بازدیدکنندگان عزیز لطفاً دقت کنید؛ بخش ۲۴ ام آموزش بدلایلی خیلی‌خیلی کوتاه (و البته دیر وقت) در اختیار شما قرار گرفت؛ لذا از شما بابت این مشکل عذرخواهی می‌کنم. دقت کنید که برای این قسمت PDF-ای درنظر نگرفته شده و در بخش ۲۵ ام، این بخش به همراه بخش ۲۵ در یک فایل PDF به‌صورت یک فایل واحد در اختیار شما قرار خواهد گرفت.

نظرات کاربران
اشتراک در
اطلاع از
18 نظرات
Reza
13 سال قبل

تشکر

narges
13 سال قبل

salam aghaye mosawy . mrc babate pdf ha . mishe begid che uri bayad be zabanhaye computeri kamelan mosalat shod.? term 1 narm afzar hastam . ba sepase faravan

narges
13 سال قبل

salam . aghaye mosawy . bebakhshid mishe narm afzare visul studio 2010 baram mail konid. bazam sepas gozarammmmmmm

narges
13 سال قبل

salam . aghaye mosaway . babate javabahaye kamel va ghane konandatun besiyar sepas gozaram ..bebakhshid chon terme avali hastam . soal ziyad baram pish miyad . az tarighe hamin site bayad soalamo beporsammmm?

Praise
13 سال قبل

با سلام و سپاس فراوان

if (MessageBox.Show(“Really Quit?”, “Exit”, MessageBoxButtons.OKCancel) == DialogResult OK)
{
Application.Exit();
}

فک کنم توی این قسمت از برنامه یه نقطه بین DialogResult و OK کم داره (DialogResult.OK)

یه بازدید کننده
پاسخ به  Jeff Mosawy
13 سال قبل

جناب هنوز وقت نشده که اصلاح لازم رو توی کدتون بدین…..

مهندسسس!!!!!

وحید
13 سال قبل

با سلام. خیلی ممنون از زحمات شما. یه سوال داشتم راجع به “Exit” که اصلا چرا می نویسیم و چرا وقتی پاک می کنیم خطا میگیره.
با تشکر فراوان

وحید
پاسخ به  Jeff Mosawy
13 سال قبل

بله، یعنی اگه Exit نباشه خطا میگیره. می خواستم بدونم نقش Exit چیه؟؟
خیلی خیلی ممنونم

وحید
پاسخ به  Jeff Mosawy
13 سال قبل

نه من “Exit” رو می گفتم. که متوجه شدم چیه. وقتی MessageBox باز میشه تو عنوانش اونو می نویسه. ینی به جای اون میشه نوشت “خروج”
خیلی ممنون از زحماتتون

میلاد
10 سال قبل

سلام داداش تو این کاراکتر ارور میده

rEZ
8 سال قبل

عالی :)