成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

C#程序設計關閉Windows窗體淺析

開發(fā) 后端
C#程序設計關閉Windows窗體是如何實現(xiàn)的呢?操作這樣一個實用性的實現(xiàn)需要用到的方法和類是什么呢?那么本文就向你介紹C#程序設計關閉Windows窗體的具體實現(xiàn)。

C#程序設計關閉Windows窗體使許多軟件在有自動關機功能的同時有一個友好的用戶界面,現(xiàn)在用visual C#來編寫設計關閉Windows窗體的程序。并且讓你很快掌握Visual C#中對API的操作程序。

C#程序設計關閉Windows窗體具體的步驟

C#程序設計關閉Windows窗體1、界面的設計

新建一個標準工程,向工程中增加一個Windows窗體并向窗體中添加如下控件,并分別設置其屬性:

向窗體添加的控件 

Windows窗體界面:

Windows窗體界面 

將窗體屬性中的caption設置為"關閉windows",名稱設置為"frmmain"。

C#程序設計關閉Windows窗體2. 在窗體類中引用API函數(shù)

API函數(shù)是構筑Windows應用程序的基石,是Windows編程的必備利器。每一種Windows應用程序開發(fā)工具都提供了間接或直接調用了Windows API函數(shù)的方法,或者是調用Windows API函數(shù)的接口,也就是說具備調用動態(tài)連接庫的能力。Visual C#和其它開發(fā)工具一樣也能夠調用動態(tài)鏈接庫的API函數(shù)。

在Visual C#中調用API的基本過程:

首先,在調用API之前,你必須先導入System.Runtime.InteropServices這個名稱空間。該名稱空間包含了在Visual C#中調用API的一些必要集合,具體的方法如下:

  1. using System.Runtime.InteropServices ;   
  2. using System.Text ;  

在導入了名稱空間后,我們要聲明在程序中所要用到的API函數(shù)。我們的程序主要是獲取系統(tǒng)的相關信息,所以用到的API函數(shù)都是返回系統(tǒng)信息的。先給出在Visual C#中聲明API的方法:

  1. [ DllImport("user32") ]   
  2. public static extern long SetWindowPos(  
  3.  
  4. long hwnd , long hWndInsertAfter, long X ,   
  5.  
  6. long y , long cx, long cy, long wFlagslong) ;   

其中,"DllImport"屬性用來從不可控代碼中調用一個方法,它指定了DLL的位置,該DLL中包含調用的外部方法;"kernel32"設定了類庫名;"public"指明函數(shù)的訪問類型為公有的;"static"修飾符聲明一個靜態(tài)元素,而該元素屬于類型本身而不是指定的對象;"extern"表示該方法將在工程外部執(zhí)行,同時使用DllImport導入的方法必須使用"extern"修飾符;最后GetWindowsDirectory函數(shù)包含了兩個參數(shù),一個為StringBuilder類型的,另一個為int類型的,該方法返回的內容存在于StringBuilder類型的參數(shù)中。同時,因為我們在這里使用到了StringBuilder類,所以在程序的開始處,我們還得添加System.Text這個名稱空間,方法同上。

聲明其它的在程序中所要用到的API函數(shù):

  1. [ DllImport("user32") ]   
  2. public static extern long ExitWindowsEx(long uFlags, long dwReserved ) ;   
  3. [ DllImport("shell32") ]   
  4. public static extern long ShellAbout(long uFlags, long dwReserved ) ;  

C#程序設計關閉Windows窗體3. 增加窗體類的變量

  1. long dwReserved ;   
  2. const int SHUTDOWN = 1 ;   
  3. const int REBOOT = 2 ;   
  4. const int LOGOFF = 0 ;   
  5. long sh ;   
  6. int counter , n ;  

C#程序設計關閉Windows窗體4. 編寫窗體類的方法

在窗體的Load(事件過程中編寫如下代碼:

  1. private void frmmain1_Load(object sender, System.EventArgs e )   
  2. {   
  3. file://用系統(tǒng)時間初始化組件   
  4. Time.Text = System.DateTime.Today.ToShortDateString( ) +   
  5.  
  6. " "+ System.DateTime.Today.ToLongTimeString( ) ;   
  7. }   

在組件Timer1的OnTimer事件過程中編寫如下代碼:

  1. / / 在組件Timer1的OnTimer事件過程中編寫如下代碼:   
  2. private void Timer1_Timer(object sender, System.EventArgs e )   
  3. {   
  4. file://接收當前日期和時間,用于即時顯示   
  5. string CurrDate=System.DateTime.Today.ToShortDateString( ) ;   
  6. string CurrTime=System.DateTime.Today.ToShortTimeString( ) ;   
  7. file://隨時檢測設定的關機日期和時間是否有效   
  8. ifthis.CheckBox1.Checked == true )   
  9. {   
  10. if(CurrDate== SetupDate.ToString( ) && CurrTime==SetupTime.ToString( ) )   
  11. ColseComputer( ) ;   
  12. }   
  13. }   
  14. private void ColseComputer( )   
  15. { sh = ExitWindowsEx(SHUTDOWN, dwReserved) ; }   
  16. private void button1_Click(object sender, System.EventArgs e )   
  17. {   
  18. Form2 frm=new Form2( ) ;   
  19. frm.Show( ) ;   
  20. }   
  21. private void ButReOpen_Click(object sender, System.EventArgs e )   
  22. { sh = ExitWindowsEx(REBOOT, dwReserved) ; }   
  23. private void ButReLogin_Click(object sender, System.EventArgs e )   
  24. { sh = ExitWindowsEx(LOGOFF, dwReserved) ; }   
  25. private void ButCancle_Click(object sender, System.EventArgs e )   
  26. this.Close( ) ; }   
  27. private void ButClose_Click_1(object sender, System.EventArgs e )   
  28. { sh = ExitWindowsEx(REBOOT, dwReserved) ; }  

C#程序設計關閉Windows窗體的基本內容就向你介紹到這里,希望對你了解和學習C#程序設計關閉Windows窗體有所幫助。

【編輯推薦】

  1. C#聲明數(shù)組的詳細解析
  2. 如何初始化數(shù)組詳解
  3. C#數(shù)組操作的體會淺談
  4. C#關機代碼實例詳解
  5. C#關機代碼的實現(xiàn)淺析
責任編輯:仲衡 來源: it.21cn.com
相關推薦

2009-09-02 17:53:42

C#程序設計Windows窗體

2009-09-07 06:07:46

C#窗體設計

2009-08-14 16:41:22

C#啟動Windows

2009-08-25 09:39:21

創(chuàng)建C# Window

2009-09-07 05:31:39

C#窗體關閉事件

2009-08-20 10:10:55

C#透明窗體

2009-08-21 17:48:43

C#網(wǎng)絡編程

2009-09-07 04:19:56

C#窗體事件

2009-08-14 11:00:16

C#創(chuàng)建Windows

2009-08-21 17:33:34

服務器端程序C#網(wǎng)絡編程

2009-09-07 04:56:52

C#模式窗體

2024-07-09 17:09:49

C#開發(fā)Windows窗體

2009-09-02 13:22:23

C#組件化程序設計

2009-09-07 05:24:22

C#窗體繼承

2010-01-11 10:34:22

C++程序

2009-09-07 06:56:46

C#透明窗體

2009-09-07 03:37:51

C#窗體

2010-01-11 17:22:02

2009-08-28 16:03:15

C#程序實現(xiàn)鼠標移動

2012-03-14 10:48:05

C#
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 亚洲视频在线一区 | 91精品久久久久 | 欧美一二三区 | 欧美黄色精品 | 免费a网| 日韩视频一区二区 | 日韩人体视频 | 国产精品一区二区三区久久 | 96av麻豆蜜桃一区二区 | 国产亚洲精品成人av久久ww | 亚洲精品久久久久久久不卡四虎 | 国产1区 | 福利视频一区 | 亚洲一在线 | 亚洲在线免费观看 | 在线看片国产精品 | a毛片 | 日韩中文字幕在线免费 | 欧美激情在线精品一区二区三区 | 精品国产精品国产偷麻豆 | 亚洲精品电影在线观看 | 亚洲最大福利网 | 国产亚洲久 | 国产aⅴ精品 | 91精品久久久久久久久久入口 | 天天操天天射天天 | 鲁大师一区影视 | 成人乱人乱一区二区三区软件 | 在线视频国产一区 | 精品一区二区三区四区五区 | 成人欧美一区二区三区白人 | 国产在线不卡视频 | 伊人久久精品 | 亚洲一区二区三区四区五区中文 | 夜久久| 久久久久久蜜桃一区二区 | 一区二区三区久久久 | 久久久久一区二区三区 | 久久精品国内 | 欧美老妇交乱视频 | 午夜看片网站 |