程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> C# >> C#入門知識 >> C#中WinForm法式加入辦法技能總結

C#中WinForm法式加入辦法技能總結

編輯:C#入門知識

C#中WinForm法式加入辦法技能總結。本站提示廣大學習愛好者:(C#中WinForm法式加入辦法技能總結)文章只能為提供參考,不一定能成為您想要的結果。以下是C#中WinForm法式加入辦法技能總結正文


本文實例總結了C#中WinForm法式加入辦法技能。分享給年夜家供年夜家參考。詳細剖析以下:

在c#中加入WinForm法式包含有許多辦法,如:this.Close(); Application.Exit();Application.ExitThread(); System.Environment.Exit(0); 等他們各自的辦法紛歧樣,上面我們就來具體引見一下。

1.this.Close();   只是封閉以後窗口,若不是主窗體的話,是沒法加入法式的,別的如有托管線程(非主線程),也沒法清潔地加入;

2.Application.Exit();  強迫一切新聞中斷,加入一切的窗體,然則如有托管線程(非主線程),也沒法清潔地加入;

3.Application.ExitThread(); 強迫中斷挪用線程上的一切新聞,異樣面對其它線程沒法准確加入的成績;

4.System.Environment.Exit(0);   這是最完全的加入方法,不論甚麼線程都被強迫加入,把法式停止的很清潔。

上面看一些實例

當我翻開一個子窗體,停止某項操作時,假如字窗體中有輪回操作時。假如運轉中我封閉子窗體,發明窗體固然封閉了,但子窗體中的輪回法式卻沒有加入,一向在 履行,並占用著體系資本,直到輪回停止,才真實的釋放資本。雖然我在字窗體的Closed事宜中寫了以下代碼:
private void frmFileDisposal_Closed(object sender, System.EventArgs e)
{
         this.Dispose();
         this.Close();
}

後來從查MSDN和從網上查材料才得知,Dispose()辦法,固然能釋放以後窗體的資本,卻不克不及強迫停止輪回,要想強迫凸起以後法式要用:System.Environment.Exit(int exitcode)辦法;該辦法:終止以後過程並為基本操作體系供給指定的加入代碼。

以下則成績處理:

private void frmFileDisposal_Closed(object sender, System.EventArgs e)
{        
 System.Environment.Exit(System.Environment.ExitCode);  
 this.Dispose();
 this.Close();
}
 
或許把它放到事宜裡:
while (MessageBox.Show("加入以後窗體?", "", MessageBoxButtons.YesNo)
   ==   DialogResult.No)
...{
   for(int j=1; j<=i; j++)
  ...{
      listBox1.Items.Add(j);
   }  
}
System.Environment.Exit(System.Environment.ExitCode);
 
還有一種辦法:

System.Threading.Thread.CurrentThread.Abort();
或許 Process.GetCurrentProcess().Kill()
或許 Application.ExitThread();
或許 Application.ExitThread()
不外以上辦法,都是強迫直接加入了全部法式,不只是封閉子窗體。能夠還會激發某些成績。

我感到最好辦法的就是,在子窗體的Closing事宜中,寫輪回加入前提,如許便可以免某些未知的毛病,並且可以只封閉子窗體,並釋放子窗體占用的資本。
Application.Exit(); 辦法停滯在一切線程上運轉的一切新聞輪回,並封閉運用法式的一切窗口。
Application.Exit 是一種強行加入方法,就像 Win32 的 PostQuitMessage()。它意味著廢棄一切新聞泵,睜開挪用客棧,並將履行前往給體系。

願望本文所述對年夜家的C#法式設計有所贊助。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved