متد های خروج (Exit) در #C

دوشنبه 4 آبان 1394

در این مقاله راجع به انواع متد های خروج صحبت خواهیم کرد.اگر می خواهید بدانید چگونه از فرم جاری، از Application، از Thread خارج شوید این مقاله به شما کمک خواهد کرد.

متد های خروج (Exit) در #C

متد های Exit() در سی شارپ

this.Close( )-1

وقتی از این متد در جایی مثلا در رویداد مربوط به یک دکمه استفاده می کنیم باعث خروج از فرم جاری می شود.به کد زیر توجه کنیدکلمه ی کلیدی this به فرمی که درون آن در حال نوشتن کد هستید اشاره می کند.و برای بستن فرمی که درون آن هستیم از این دستور استفاده می کنیم

    private void button1_Click(object sender, EventArgs e)
        {
            this.Close();
        }

2-System.Windows.Forms.Application.ExitThread( )

همان طور که می دانید thread یک جریان مستقل از دستورالعمل‌های یک برنامه است.thread همانند یک برنامه ثانویه است.با این حال ،خود thread یک برنامه نیست،thread  به تنهایی اجرانمی شود بلکه در متن یک برنامه اجرا میشود.و از منابع برنامه هم استفاده می کند.می توان پردازش های مختلف را به چندین  thread واگذار کردو آنها به صورت هم زمان اجرا میشوند و کارهای متفاوتی را انجام میدهند .

در پروژه ضمیمه و در داخل برنامه کنسول یک THREAD  تعریف می کنیم و متد MYfun را برای اجرا به آن پاس می دهیم .خروجی این پروژه به صورت زیر است .

     System.Threading.Thread t = new System.Threading.Thread(myFun);

            t.Start();
            Console.WriteLine("Main thread Running");


            Console.ReadKey();


        }



        static void myFun()
        {

            Console.WriteLine("Running other Thread");

        }
می بینید با اینکه ابتدا در کد نوشته ایم که THREAD  اجرا شود ولی خروجی آن بعد از خط Console.WriteLine("Main thread Running"); آمده است.دلیل این امر این است که سیستم عامل زمان بندی انجام Thread ها را به عهده دارد و به ترتیب برنامه کاری ندارد.

حال برای خروج از این Thread دستور زیر را باید بنویسیم

private void btnClose_Click(object sender, EventArgs eventArgs)  
{  
   System.Windows.Forms.Application.ExitThread( );  
} 

در صورت استفاده از این دستور،  یک SUB APPLICATION و یا یک THREAD  بسته خواهد شد.قبل از خروج از برنامه باید تمام نخ یا THREAD  های فعال بسته شوند مگر اینکه THREAD  هایی باشند که به صورت مستقل از برنامه و در پس زمینه اجرا شوند.

3-System.Windows.Forms.Application.Exit( )

وقتی در برنامه ویندوز فرم خود نیاز داریم که تمام APPLICATION  را ببندیم از این دستور استفاده می کنیم .

  private void button2_Click(object sender, EventArgs e)
        {
            System.Windows.Forms.Application.ExitThread(); 
        }

4-System.Environment.Exit(a_ExitCode)

وقتی در برنامه کنسول هستیم و نیاز داریم تمام APPLICATION  ها را ببندیم باید از متد System.Environment.Exit(a_ExitCode) استفاده کنیم .  دستور (Environment.Exit(0 موجب می‌شود برنامه در همان‌ نقطه به پایان برسد. پارامتری که این تابع دریافت می کند وضعیت پردازش مورد نظر را نشان میدهد.می توانید از آن چشم پوشی کنید.مقدار پیش فرض این پارامتر 0 می باشد.

public static void Main(string[] args)  
{  
   System.Environment.Exit(0);  
}  

آموزش سی شارپ

فایل های ضمیمه

برنامه نویسان

نویسنده 3355 مقاله در برنامه نویسان
  • C#.net
  • 28k بازدید
  • 4 تشکر

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

در صورتی که در رابطه با این مقاله سوالی دارید، در تاپیک های انجمن مطرح کنید