کدنویس۲۱

کدنویس۲۱

با کد نویس 21 کد نویس باشید.
کدنویس۲۱

کدنویس۲۱

با کد نویس 21 کد نویس باشید.

چگونه کاری کنیم که برنامه C# ما ظاهراً بسته شود ولی باز بماند؟

سلام دوستان در این آموزش قصد دارم کدی ساده برایتان بگذارم که هم در برنامه های کاربردی، هم در ویروس نویسی و هم در برنامه های جاسوس برایتان مفید خواهد بود. امیدوارم استفاده درستی بکنید.

 

 

کد زیر را در رویداد Form Closing در فرم خود قرار دهید.

1
2
3
e.Cancel = true;
if (MessageBox.Show("Are you sure to close application?", "Exit?", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes) Hide();

این کد در خط اوّل عملیات بسته شدن برنامه را لغو می کند. در خط دوّم از کاربر می پرسد که "آیا مطمئن است که می خواهد از برنامه خارج شود؟" و اگر کاربر "Yes" را انتخاب کرد کد خط سوّم را اجرا می کند که در آن دستور مخفی شدن فرم نوشته شده است.

این کد فعلاً بیشتر دو کاربرد دوّم که ذکر شد را دارد امّا با صرف زمان بیشتر می توان آن را در برنامه های کاربردی بیشتر استفاده کرد.



1
bool b = true;

کد بالا را زیر کد زیر در Form1.cs قرار دهید.

1
2
3
4
public Form1()
{ InitializeComponent(); }

کد قسمت Form Closing را به شکل زیر تغییر دهید.

1
if (b) { e.Cancel = true; if (MessageBox.Show("Are you sure to close application?", "Exit?", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes) Hide(); }

یک Context Menu Strip با مشخصات زیر بسازید.

Name --> ContextMS

Text    --> Your Application Name

Items:

Item1:

Name --> Item1

Text    --> Open

Type   --> MenuItem

Item2:

Name --> Item2

Text    --> Exit

Type   --> MenuItem

وارد رویداد کلیک Item1 شوید و کد زیر را در آن بنویسید.

1
Show();

وارد رویداد کلیک Item2 شوید و کد زیر را در آن بنویسید.

1
if (MessageBox.Show("Are you sure to close application?", "Exit?", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes) { b = false; Application.Exit(); }

یک NotifyIcon با مشخصات زیر ایجاد کنید.

Name                                 --> notify

Icon                                    --> آیکن دلخواه

ContextMenuStrip --> ContextMS

Visible                              --> true

وارد رویداد کلیک notify شوید و کد زیر را در آن وارد نمایید.

1
Show();

حال برنامه ما به این شرح است: پس از اجرا یک Notify Icon در قسمت آیکن های ما دیده می شود. اگر روی آن کلیک کنیم وارد فرم مربوط به آن می شویم و اگر روی آن راست کلیک کنیم ContextMS با گزینه های Open و Exit به ما نمایش داده خواهد شد. Open فرم مربوطه را نمایش می دهد و Exit پس از تأیید کاربر برنامه را به کلّی می بندد در حالی که اگر کاربر از روش دیگری(جز استفاده از Task Manager) برای بستن برنامه استفاده کند در آخر می تواند تنها به پنهان شدن فرم منجر شود نه بسته شدن کامل برنامه و در همین حال ما می توانیم برنامه را با notify باز کنیم یا به کلّی ببندیم.

امیدوارم که این پست مفید واقع شود. اگر سؤالی داشتید در قسمت نظرات مطرح کنید.

تا کد هایی دیگر خدا یار و نگهدارتان

نظرات 0 + ارسال نظر
برای نمایش آواتار خود در این وبلاگ در سایت Gravatar.com ثبت نام کنید. (راهنما)
ایمیل شما بعد از ثبت نمایش داده نخواهد شد