当前位置: 首页 > 科技观察

C#编写自动关机程序的知识复习

时间:2023-03-12 01:35:50 科技观察

首先,一个程序最重要的元素就是logo。可以在设置里设置程序图标,在ICON里面设置。ICON图标可以在线下载。这些是表面功夫程序中涉及的Button、Label、Timer和Notiflcon控件。Button按钮控件可以这样设计:123456789101112131415161718192021privatevoidbutton1_Click(objectsender,EventArgse){//intshi,fen,miao;如果(Flag_True==0){Flag_True=1;}else{button1.Text="OK";label6.Text="";label7.Text="";label5.Text="";//label1.Text="定时关机设置";标志_真=0;}shi=(int)numericUpDown3.Value;fen=(int)numericUpDown2.值;miao=(int)numericUpDown1.Value;time_set=shi*3600+fen*60+miao;}标签控件操作简单,可以显示字符,其成员有文本,可以随时更改。定时器控件相当嵌入式定时器,在属性的behavior栏中设置ENABLE,间隔设置为500,也就是半秒1234567891011121314151617181920212223242526272829303132333435privatevoidtimer1_Tick(objectsender,EventArgse){Int32time_now;额外的Int32;if(Flag_True==1){if(DateTime.Now.Minute==fen&&DateTime.Now.Hour==shi&&DateTime.Now.Second==miao){button1.Text="取消";label6.Text="挽余关机时间";label7.Text="second";label5.Text="0";System.Diagnostics.Process.Start("shutdown","-s-t0");//关闭程序}//关闭其他{time_now=DateTime.Now.Second+DateTime.Now.Minute*60+DateTime.Now.Hour*3600;extra=time_set-time_now;if(extra>0){button1.Text="取消";label6.Text="剩余关机时间";label7.Text="second";//extra/3600label5.Text=extra.ToString();}else{Flag_True=0;}}}}上面我每半秒进入一次中断,判断,如果设置了定时关机,则判断是否到了关机时间,并显示还有多少秒关机.如果没有设置定时关机,则不显示.button1和button1的文字标签可以随时更改,基本功能设置好后,下一步有一个设置是使用Notiflcon控件最小化到托盘,这个控件设置最小化图标,icon图标可以在settings中设置。它有鼠标点击,鼠标等事件双击,单击,然后双击。123456privatevoidnotifyIcon1_MouseClick(objectsender,MouseEventArgse){this.Visible=true;this.WindowState=FormWindowState.Normal;this.notifyIcon1.Visible=false;是恢复视觉,正常的窗口。然后你必须设置程序最小化时隐藏在下面12345678privatevoidForm1_SizeChanged(objectsender,EventArgse){if(this.WindowState==FormWindowState.Minimized){this.Hide();这。notifyIcon1.Visible=true;}}以上是关机程序,仅供娱乐。.整体结构如下图所示。1234567891011121314151617181920212223242526272829303132333435363738394041424344474544474551525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139namespace关机任务管理V1._0{publicpartialclassForm1:Form{intshi,fen,miao;Int32时间设置;intFlag_True=0;publicForm1(){InitializeComponent();}privatevoidForm1_Load(objectsender,EventArgse){}privatevoidnumericUpDown1_ValueChanged(objectsender,EventArgse){if(numericUpDown1.Value==-1)numericUpDown1.Value=60;elseif(numericUpDown1.Value==61)numericUpDown1.Value=0;}privatevoidnumericUpDown2_ValueChanged(objectsender,EventArgse){if(numericUpDown2.Value==-1)numericUpDown2.Value=60;elseif(numericUpDown2.Value==61)numericUpDown2.Value=0;}privatevoidnumericUpDown3_ValueChanged(objectsender,EventArgse){if(numericUpDown3.Value==25)numericUpDown3.Value=0;elseif(numericUpDown3.Value==-1)numericUpDown3.Value=24;}privatevoidbutton1_Click(objectsender,EventArgse){//intshi,fen,miao;如果(Flag_True==0){Flag_True=1;}else{button1.Text="确定";label6.Text="";label7.Text="";label5.Text="";//label1.Text="定时关机设置";标志_真=0;}shi=(int)numericUpDown3.V值;fen=(int)numericUpDown2.Value;miao=(int)numericUpDown1.Value;time_set=shi*3600+fen*60+miao;}privatevoidtimer1_Tick(objectsender,EventArgse){Int32time_now;额外的Int32;if(Flag_True==1){if(DateTime.Now.Minute==fen&&DateTime.Now.Hour==shi&&DateTime.Now.Second==miao){button1.Text="取消";label6.Text="挽余关机时间";label7.Text="秒";label5.Text="0";System.Diagnostics.Process.Start("shutdown","-s-t0");//关机程序}//shutdownelse{time_now=DateTime.Now.Second+DateTime.Now.Minute*60+DateTime.Now.小时*3600;extra=time_set-time_now;如果(额外>0){button1.Text="取消消";label6.Text="挽余关机时间";label7.Text="秒";//extra/3600label5.Text=extra.ToString();}else{Flag_True=0;}}}}privatevoidlabel5_Click(objectsender,EventArgse){}privatevoidlabel4_Click(objectsender,EventArgse){}privatevoidlabel3_Click(objectsender,EventArgse){}privatevoidlabel6_Click(objectsender,EventArgse){}privatevoidnotifyIcon1_MouseClick(objectsender,MouseEventArgse){this.Visible=true;这个.WindowState=FormWindowState.Normal;this.notifyIcon1.Visible=false;}//最小化代码privatevoidForm1_SizeChanged(objectsender,EventArgse){if(this.WindowState==FormWindowState.Minimized){this.Hide();this.notifyIcon1.Visible=true;}}}}界面如下: