آموزش سیشارپ C# – بخش ۲۴
- مقدمه
در بخش پیشین از آموزش سیشارپ، نحوه ایجاد یک منو برای فرم خود را فرا گرفتید. اضافه کردن چنین منویی تقریباً در اغلب نرمافزارهایی که در آینده خواهید نوشت لازم است و دسترسی به بخشهای مختلف نرمافزار را راحتتر میکند.
این منو قطعاً بدون آنکه عملی را انجام دهد که فایدهای ندارد. پس در این بخش فرا خواهیم گرفت که چگونه برای هر بخشی کدی را بنویسیم تا این منوها، هرکدام، یک قابلیتی را انجام دهند.
- فعال کردن منوی 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 بهصورت یک فایل واحد در اختیار شما قرار خواهد گرفت.
تشکر
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
سلام دوست عزیز،
خواهش میکنم، وظیفهاست. خوشحالم که اول از همه، رشتهی مهندسی نرمافزار رو انتخاب کردید؛ مطمئناً پشیمون نمیشید! 😀
در رابطه با اینکه چجوری به زبانهای برنامهنویسی مسلط بشید، خصوصاً که شما تازه ترم اول رشته نرمافزار هستید، بهنظرم برای شروع شما با زبان C++ کار کنید (سی پلاسپلاس) و سعی کنید با این زبان بهطور کامل آشنایی پیدا کنید. کتابهای فارسی و انگلیسی زیادی برای این زبان وجود داره. یکبار که این زبان رو یاد بگیرید، یادگیری بقیه زبانها برای شما حداکثر ۲ هفته زمان خواهد برد.
موفق باشید!
salam . aghaye mosawy . bebakhshid mishe narm afzare visul studio 2010 baram mail konid. bazam sepas gozarammmmmmm
سلام دوست عزیز،
من خوشحال میشم که برای شما این برنامه را ایمیل کنم، اما دقت کنید که خود نرمافزار Visual Studio 2010 ultimate حجم بسیار بزرگی داره و شاید با سریعترین اینترنت در ایران حداقل نیم روز و یا یک روز کامل را از شما بگیرید.
من پیشنها میکنم که شما Microsoft Visual C# رو از سایت خود Microsoft.com دریافت کنید. حجمش حدوداً ۳۰۰ مگابایت هست. اگر باز هم سوالی داشتید من در خدمت شما هستم.
موفق باشید!
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?
با سلام،
خواهش میکنم، اگرچه نتونستم کمکتون کنم. بله شما میتونید از طریق همین سایت با من تماس بگیرید و سوالهاتون رو بپرسید و من سعی میکنم به بهترین شکل راهنماییتون کنم.
موفق باشید!
با سلام و سپاس فراوان
if (MessageBox.Show(“Really Quit?”, “Exit”, MessageBoxButtons.OKCancel) == DialogResult OK)
{
Application.Exit();
}
فک کنم توی این قسمت از برنامه یه نقطه بین DialogResult و OK کم داره (DialogResult.OK)
سلام دوست عزیزم٬
تشکر می کنم از شما بابت گزارش خطا. بله حق کاملاً با شماست. به زودی اصلاح خواهم کرد.
ممنونم از لطف شما٬
موفق باشید!
جناب هنوز وقت نشده که اصلاح لازم رو توی کدتون بدین…..
مهندسسس!!!!!
سلام دوست عزیز،
ممنونم از یادآوری! راستش متأسفانه فراموش کردم که اصلاح کنم. اصلاح شد!
خیـــلی ممنون
با سلام. خیلی ممنون از زحمات شما. یه سوال داشتم راجع به “Exit” که اصلا چرا می نویسیم و چرا وقتی پاک می کنیم خطا میگیره.
با تشکر فراوان
سلام دوست عزیزم،
منظورت این هست که بعد از اینکه متد Exit رو مینویسد و پاک میکنید خطا میگیره؟
موفق باشید
بله، یعنی اگه Exit نباشه خطا میگیره. می خواستم بدونم نقش Exit چیه؟؟
خیلی خیلی ممنونم
سلام دوست عزیز؛
کلاً اگر Application.Exit() نباشه ارور میده، یا Exit تنها برای شما خطا ایجاد میکنه؟ اگر فقط و فقط قسمت Application.Exit() رو پاک کنید نباید خطا بده؛ اگر تنها Exit() رو پاک کنید خوب طبیعتاً خطا میده.
موفق باشید!
نه من “Exit” رو می گفتم. که متوجه شدم چیه. وقتی MessageBox باز میشه تو عنوانش اونو می نویسه. ینی به جای اون میشه نوشت “خروج”
خیلی ممنون از زحماتتون
سلام داداش تو این کاراکتر ارور میده
عالی 🙂