C# 窗口实现定时关机系统

来源:互联网 发布:模拟经营类游戏 知乎 编辑:程序博客网 时间:2024/06/08 19:45

看一下运行之后的效果图
这里写图片描述

看代码

using System;using System.Collections.Generic;using System.ComponentModel;using System.Data;using System.Drawing;using System.Linq;using System.Text;using System.Windows.Forms;namespace ShutDoneWindows{    public partial class ShutDone : Form    {        public ShutDone()        {            InitializeComponent();        }        private void menuItemExit_Click(object sender, EventArgs e)        {            Application.Exit();        }        private void ShutDone_Load(object sender, EventArgs e)        {            this.timer1.Start();            DateTime DT = System.DateTime.Now;            string dt = System.DateTime.Now.ToString();            txtDatatime.Text = dt;        }        private void btnHide_Click(object sender, EventArgs e)        {            this.Hide();            this.notifyIcon1.Visible = true;        }        private void notifyIcon1_MouseDoubleClick(object sender, MouseEventArgs e)        {            this.Visible = true;            this.WindowState = FormWindowState.Normal;            this.notifyIcon1.Visible = false;                            }        private void btnShutDone_Click(object sender, EventArgs e)        {            System.Diagnostics.Process.Start("cmd.exe", "/cshutdown -s -t 0");        }        private void btnReLogin_Click(object sender, EventArgs e)        {            System.Diagnostics.Process.Start("cmd.exe", "/logoff 0");        }        private void btnReBoot_Click(object sender, EventArgs e)        {            System.Diagnostics.Process.Start("cmd.exe", "/shutdown -r 0");        }        private void timer1_Tick(object sender, EventArgs e)        {            DateTime objDatetime = System.DateTime.Now;            string cData = objDatetime.ToLongDateString();            string cTime = objDatetime.ToLongTimeString();            this.txtDatatime.Text = cData + "" + cTime;            if (this.chkStrat.Checked == true)            {                int Y = this.dtpCurrentDate.Value.Year;                int M = this.dtpCurrentDate.Value.Month;                int D = this.dtpCurrentDate.Value.Day;                int H = this.dtpCurrentTime.Value.Hour;                int Min = this.dtpCurrentTime.Value.Minute;                int S = this.dtpCurrentTime.Value.Second;                objDatetime = new DateTime(Y, M, D, H, Min, S);                System.TimeSpan remain = objDatetime - System.DateTime.Now;                double time = remain.TotalSeconds;                if (time < 0)                {                    this.chkStrat.Checked = false;                    MessageBox.Show("设定的定时时间必须大于当前时间");                }                else                 {                    if (time < 60 && this.rbtnOneMinute.Checked == true)                    {                        AwokeForm aw = new AwokeForm();                        this.timer1.Stop();                        this.Hide();                        aw.Show();                    }                    if (time < 0 && this.rbtnNone.Checked == true)                    {                        System.Diagnostics.Process.Start("cmd.exe", "/cshutdown -s -t 0");                    }                }            }        }        private void chkStrat_CheckedChanged(object sender, EventArgs e)        {        }        private void rbtnOneMinute_CheckedChanged(object sender, EventArgs e)        {        }        private void rbtnNone_CheckedChanged(object sender, EventArgs e)        {        }    }}

窗口提醒的代码!

using System;using System.Collections.Generic;using System.ComponentModel;using System.Data;using System.Drawing;using System.Linq;using System.Text;using System.Windows.Forms;namespace ShutDoneWindows{    public partial class AwokeForm : Form    {        public AwokeForm()        {            InitializeComponent();        }        private void btnCancel_Click(object sender, EventArgs e)        {            timer1.Stop();            this.Close();                    }        private void AwokeForm_Load(object sender, EventArgs e)        {            this.timer1.Start();            this.lblMessage.Text = "距离当前关机还有" +60+ "秒";        }        int max = 60;        private void timer1_Tick(object sender, EventArgs e)        {            this.max = max - 1;            if (this.max == 0)            {                System.Diagnostics.Process.Start("cmd.exe", "/cshutdown -s -t 0");                this.timer1.Stop();            }            else            {                this.lblMessage.Text = "距离当前关机还有" + this.max.ToString() + "秒";            }        }    }}
0 0
原创粉丝点击