C#程序设计关闭Windows窗体是如何实现的呢?操作这样一个实用性的实现需要用到的方法和类是什么呢?那么本文就向你介绍C#程序设计关闭Windows窗体的具体实现。
C#程序规划封闭Windows窗体使许多软件在有自动关机功用的一起有一个友爱的用户界面,现在用visual C#来编写规划封闭Windows窗体的程序。而且让你很快把握Visual C#中对API的操作程序。
C#程序规划封闭Windows窗体具体的进程
C#程序规划封闭Windows窗体1、界面的规划
新建一个规范工程,向工程中添加一个Windows窗体并向窗体中添加如下控件,并别离设置其特点:
Windows窗体界面:
将窗体特点中的caption设置为"封闭windows",称号设置为"frmmain"。
C#程序规划封闭Windows窗体2. 在窗体类中引证API函数
API函数是构筑Windows应用程序的柱石,是Windows编程的必备利器。每一种Windows应用程序开发工具都供给了直接或直接调用了Windows API函数的办法,或者是调用Windows API函数的接口,也就是说具有调用动态衔接库的才能。Visual C#和其它开发工具相同也可以调用动态链接库的API函数。
在Visual C#中调用API的根本进程:
首要,在调用API之前,你有必要先导入System.Runtime.InteropServices这个称号空间。该称号空间包括了在Visual C#中调用API的一些必要调集,具体的办法如下:
- usingSystem.Runtime.InteropServices;
- usingSystem.Text;
在导入了称号空间后,咱们要声明在程序中所要用到的API函数。咱们的程序主要是获取体系的相关信息,所以用到的API函数都是回来体系信息的。先给出在Visual C#中声明API的办法:
- [DllImport("user32")]
- publicstaticexternlongSetWindowPos(
- longhwnd,longhWndInsertAfter,longX,
- longy,longcx,longcy,longwFlagslong);
其间,"DllImport"特点用来从不可控代码中调用一个办法,它指定了DLL的方位,该DLL中包括调用的外部办法;"kernel32"设定了类库名;"public"指明函数的拜访类型为公有的;"static"修饰符声明一个静态元素,而该元素归于类型自身而不是指定的目标;"extern"表明该办法将在工程外部履行,一起运用DllImport导入的办法有必要运用"extern"修饰符;最终GetWindowsDirectory函数包括了两个参数,一个为StringBuilder类型的,另一个为int类型的,该办法回来的内容存在于StringBuilder类型的参数中。一起,由于咱们在这儿运用到了StringBuilder类,所以在程序的开端处,咱们还得添加System.Text这个称号空间,办法同上。
声明其它的在程序中所要用到的API函数:
- [DllImport("user32")]
- publicstaticexternlongExitWindowsEx(longuFlags,longdwReserved);
- [DllImport("shell32")]
- publicstaticexternlongShellAbout(longuFlags,longdwReserved);
C#程序规划封闭Windows窗体3. 添加窗体类的变量
- longdwReserved;
- constintSHUTDOWN=1;
- constintREBOOT=2;
- constintLOGOFF=0;
- longsh;
- intcounter,n;
C#程序规划封闭Windows窗体4. 编写窗体类的办法
在窗体的Load(事情进程中编写如下代码:
- privatevoidfrmmain1_Load(objectsender,System.EventArgse)
- {
- file://用体系时刻初始化组件
- Time.Text=System.DateTime.Today.ToShortDateString()+
- ""+System.DateTime.Today.ToLongTimeString();
- }
在组件Timer1的OnTimer事情进程中编写如下代码:
- //在组件Timer1的OnTimer事情进程中编写如下代码:
- privatevoidTimer1_Timer(objectsender,System.EventArgse)
- {
- file://接纳当时日期和时刻,用于即时显现
- stringCurrDate=System.DateTime.Today.ToShortDateString();
- stringCurrTime=System.DateTime.Today.ToShortTimeString();
- file://随时检测设定的关机日期和时刻是否有用
- if(this.CheckBox1.Checked==true)
- {
- if(CurrDate==SetupDate.ToString()&&CurrTime==SetupTime.ToString())
- ColseComputer();
- }
- }
- privatevoidColseComputer()
- {sh=ExitWindowsEx(SHUTDOWN,dwReserved);}
- privatevoidbutton1_Click(objectsender,System.EventArgse)
- {
- Form2frm=newForm2();
- frm.Show();
- }
- privatevoidButReOpen_Click(objectsender,System.EventArgse)
- {sh=ExitWindowsEx(REBOOT,dwReserved);}
- privatevoidButReLogin_Click(objectsender,System.EventArgse)
- {sh=ExitWindowsEx(LOGOFF,dwReserved);}
- privatevoidButCancle_Click(objectsender,System.EventArgse)
- {this.Close();}
- privatevoidButClose_Click_1(objectsender,System.EventArgse)
- {sh=ExitWindowsEx(REBOOT,dwReserved);}
C#程序规划封闭Windows窗体的根本内容就向你介绍到这儿,期望对你了解和学习C#程序规划封闭Windows窗体有所协助。
【修改引荐】
- C#声明数组的具体解析
- 怎么初始化数组详解
- C#数组操作的领会浅谈
- C#关机代码实例详解
- C#关机代码的完成浅析