实例介绍
【实例简介】
【实例截图】
【核心代码】
using System;
using System.ComponentModel;
using System.Diagnostics;
using System.Drawing;
using System.Windows.Forms;
namespace Windowsclose
{
public class 定时关机 : Form
{
private IContainer components = null;
private Label label1;
private Label label2;
private NumericUpDown nudHour;
private NumericUpDown nudMintes;
private NumericUpDown nudSecond;
private ComboBox cbMoth;
private ComboBox cbDay;
private Label label3;
private Label label4;
private Label label5;
private Label label6;
private Label label7;
private CheckBox ckBx;
private Timer tmrTime;
private Button btClose;
private Button btRestart;
private Button btCancellation;
private Button btEsc;
private TextBox txtRemind;
private Label label8;
private Button button1;
private Label label9;
private int gotime = 0;
private string cmd = null;
private int counttime = 0;
private bool flag = true;
private bool flag1 = true;
private bool flag2 = true;
protected override void Dispose(bool disposing)
{
if (disposing && this.components != null)
{
this.components.Dispose();
}
base.Dispose(disposing);
}
private void InitializeComponent()
{
this.components = new Container();
ComponentResourceManager resources = new ComponentResourceManager(typeof(定时关机));
this.label1 = new Label();
this.label2 = new Label();
this.nudHour = new NumericUpDown();
this.nudMintes = new NumericUpDown();
this.nudSecond = new NumericUpDown();
this.cbMoth = new ComboBox();
this.cbDay = new ComboBox();
this.label3 = new Label();
this.label4 = new Label();
this.label5 = new Label();
this.label6 = new Label();
this.label7 = new Label();
this.ckBx = new CheckBox();
this.tmrTime = new Timer(this.components);
this.btClose = new Button();
this.btRestart = new Button();
this.btCancellation = new Button();
this.btEsc = new Button();
this.txtRemind = new TextBox();
this.label8 = new Label();
this.button1 = new Button();
this.label9 = new Label();
((ISupportInitialize)this.nudHour).BeginInit();
((ISupportInitialize)this.nudMintes).BeginInit();
((ISupportInitialize)this.nudSecond).BeginInit();
base.SuspendLayout();
this.label1.Anchor = AnchorStyles.None;
this.label1.AutoSize = true;
this.label1.Font = new Font("Microsoft YaHei UI", 13f);
this.label1.Location = new Point(142, 57);
this.label1.Name = "label1";
this.label1.Size = new Size(82, 23);
this.label1.TabIndex = 0;
this.label1.Text = "系统时间";
this.label2.Anchor = AnchorStyles.None;
this.label2.AutoSize = true;
this.label2.Font = new Font("Microsoft YaHei UI", 13f);
this.label2.Location = new Point(52, 57);
this.label2.Name = "label2";
this.label2.Size = new Size(100, 23);
this.label2.TabIndex = 1;
this.label2.Text = "系统时间:";
this.nudHour.Anchor = AnchorStyles.None;
this.nudHour.Location = new Point(56, 127);
this.nudHour.Name = "nudHour";
this.nudHour.Size = new Size(78, 23);
this.nudHour.TabIndex = 2;
this.nudMintes.Anchor = AnchorStyles.None;
this.nudMintes.Location = new Point(166, 127);
this.nudMintes.Name = "nudMintes";
this.nudMintes.Size = new Size(78, 23);
this.nudMintes.TabIndex = 3;
this.nudSecond.Anchor = AnchorStyles.None;
this.nudSecond.Location = new Point(275, 127);
this.nudSecond.Name = "nudSecond";
this.nudSecond.Size = new Size(57, 23);
this.nudSecond.TabIndex = 4;
this.cbMoth.Anchor = AnchorStyles.None;
this.cbMoth.FormattingEnabled = true;
this.cbMoth.Location = new Point(166, 172);
this.cbMoth.Name = "cbMoth";
this.cbMoth.Size = new Size(78, 23);
this.cbMoth.TabIndex = 5;
this.cbMoth.SelectedIndexChanged = this.cbMoth_SelectedIndexChanged;
this.cbDay.Anchor = AnchorStyles.None;
this.cbDay.FormattingEnabled = true;
this.cbDay.Location = new Point(275, 172);
this.cbDay.Name = "cbDay";
this.cbDay.Size = new Size(57, 23);
this.cbDay.TabIndex = 6;
this.label3.AutoSize = true;
this.label3.Font = new Font("Microsoft YaHei UI", 11f);
this.label3.Location = new Point(246, 131);
this.label3.Name = "label3";
this.label3.RightToLeft = RightToLeft.No;
this.label3.Size = new Size(24, 19);
this.label3.TabIndex = 7;
this.label3.Text = "分";
this.label4.AutoSize = true;
this.label4.Font = new Font("Microsoft YaHei UI", 11f);
this.label4.Location = new Point(137, 131);
this.label4.Name = "label4";
this.label4.RightToLeft = RightToLeft.No;
this.label4.Size = new Size(24, 19);
this.label4.TabIndex = 8;
this.label4.Text = "时";
this.label5.AutoSize = true;
this.label5.Font = new Font("Microsoft YaHei UI", 11f);
this.label5.Location = new Point(339, 131);
this.label5.Name = "label5";
this.label5.RightToLeft = RightToLeft.No;
this.label5.Size = new Size(24, 19);
this.label5.TabIndex = 9;
this.label5.Text = "秒";
this.label6.AutoSize = true;
this.label6.Font = new Font("Microsoft YaHei UI", 11f);
this.label6.Location = new Point(246, 176);
this.label6.Name = "label6";
this.label6.RightToLeft = RightToLeft.No;
this.label6.Size = new Size(24, 19);
this.label6.TabIndex = 10;
this.label6.Text = "月";
this.label7.AutoSize = true;
this.label7.Font = new Font("Microsoft YaHei UI", 11f);
this.label7.Location = new Point(339, 176);
this.label7.Name = "label7";
this.label7.RightToLeft = RightToLeft.No;
this.label7.Size = new Size(24, 19);
this.label7.TabIndex = 11;
this.label7.Text = "日";
this.ckBx.AutoSize = true;
this.ckBx.Location = new Point(61, 176);
this.ckBx.Name = "ckBx";
this.ckBx.Size = new Size(74, 19);
this.ckBx.TabIndex = 12;
this.ckBx.Text = "开启定时";
this.ckBx.UseVisualStyleBackColor = true;
this.ckBx.CheckedChanged = this.ckBx_CheckedChanged;
this.tmrTime.Tick = this.tmrTime_Tick;
this.btClose.Enabled = false;
this.btClose.Location = new Point(56, 241);
this.btClose.Name = "btClose";
this.btClose.Size = new Size(75, 33);
this.btClose.TabIndex = 13;
this.btClose.Text = "关机";
this.btClose.UseVisualStyleBackColor = true;
this.btClose.Click = this.btClose_Click;
this.btRestart.Enabled = false;
this.btRestart.Location = new Point(166, 241);
this.btRestart.Name = "btRestart";
this.btRestart.Size = new Size(75, 33);
this.btRestart.TabIndex = 14;
this.btRestart.Text = "重启";
this.btRestart.UseVisualStyleBackColor = true;
this.btRestart.Click = this.btRestart_Click;
this.btCancellation.Enabled = false;
this.btCancellation.Location = new Point(275, 241);
this.btCancellation.Name = "btCancellation";
this.btCancellation.Size = new Size(75, 33);
this.btCancellation.TabIndex = 15;
this.btCancellation.Text = "注销";
this.btCancellation.UseVisualStyleBackColor = true;
this.btCancellation.Click = this.btCancellation_Click;
this.btEsc.Location = new Point(348, 3);
this.btEsc.Name = "btEsc";
this.btEsc.Size = new Size(56, 38);
this.btEsc.TabIndex = 16;
this.btEsc.Text = "退出";
this.btEsc.UseVisualStyleBackColor = true;
this.btEsc.Click = this.btEsc_Click;
this.txtRemind.Font = new Font("Microsoft YaHei UI", 13f);
this.txtRemind.Location = new Point(121, 330);
this.txtRemind.Multiline = true;
this.txtRemind.Name = "txtRemind";
this.txtRemind.Size = new Size(179, 29);
this.txtRemind.TabIndex = 17;
this.label8.AutoSize = true;
this.label8.Font = new Font("Microsoft YaHei UI", 14f);
this.label8.Location = new Point(29, 330);
this.label8.Name = "label8";
this.label8.Size = new Size(86, 24);
this.label8.TabIndex = 18;
this.label8.Text = "倒计时:";
this.button1.Location = new Point(335, 330);
this.button1.Name = "button1";
this.button1.Size = new Size(50, 29);
this.button1.TabIndex = 19;
this.button1.Text = "取消";
this.button1.UseVisualStyleBackColor = true;
this.button1.Click = this.button1_Click_1;
this.label9.Anchor = AnchorStyles.None;
this.label9.AutoSize = true;
this.label9.Font = new Font("Microsoft YaHei UI", 9f);
this.label9.Location = new Point(53, 109);
this.label9.Name = "label9";
this.label9.Size = new Size(58, 15);
this.label9.TabIndex = 20;
this.label9.Text = "设置时间:";
this.label9.Click = this.label9_Click;
base.AutoScaleDimensions = new SizeF(7f, 15f);
base.AutoScaleMode = AutoScaleMode.Font;
base.ClientSize = new Size(416, 430);
base.ControlBox = false;
base.Controls.Add(this.label9);
base.Controls.Add(this.button1);
base.Controls.Add(this.label8);
base.Controls.Add(this.txtRemind);
base.Controls.Add(this.btEsc);
base.Controls.Add(this.btCancellation);
base.Controls.Add(this.btRestart);
base.Controls.Add(this.btClose);
base.Controls.Add(this.ckBx);
base.Controls.Add(this.label7);
base.Controls.Add(this.label6);
base.Controls.Add(this.label5);
base.Controls.Add(this.label4);
base.Controls.Add(this.label1);
base.Controls.Add(this.label2);
base.Controls.Add(this.nudHour);
base.Controls.Add(this.nudMintes);
base.Controls.Add(this.cbDay);
base.Controls.Add(this.label3);
base.Controls.Add(this.cbMoth);
base.Controls.Add(this.nudSecond);
this.Font = new Font("Microsoft YaHei UI", 9f);
base.FormBorderStyle = FormBorderStyle.FixedSingle;
//base.Icon = (Icon)resources.GetObject("$this.Icon");
base.Margin = new Padding(3, 4, 3, 4);
base.MaximizeBox = false;
base.MinimizeBox = false;
base.Name = "定时关机";
base.StartPosition = FormStartPosition.CenterScreen;
this.Text = "定时关机";
base.Load = this.Form1_Load;
((ISupportInitialize)this.nudHour).EndInit();
((ISupportInitialize)this.nudMintes).EndInit();
((ISupportInitialize)this.nudSecond).EndInit();
base.ResumeLayout(false);
base.PerformLayout();
}
public 定时关机()
{
this.InitializeComponent();
}
public void allow()
{
DialogResult Result = MessageBox.Show("程序将自动化到托盘", "操作提示", MessageBoxButtons.YesNo, MessageBoxIcon.Asterisk);
if (Result == DialogResult.Yes)
{
this.windowHide();
}
}
private void Form1_Load(object sender, EventArgs e)
{
Label label = this.label1;
DateTime now = DateTime.Now;
label.Text = now.ToString("yyy年MM月dd天HH:mm:ss");
this.label1.ForeColor = Color.Red;
this.nudHour.Maximum = 23m;
this.nudMintes.Maximum = 59m;
this.nudSecond.Maximum = 59m;
ComboBox comboBox = this.cbMoth;
now = DateTime.Now;
int num = now.Month;
comboBox.Text = num.ToString();
ComboBox comboBox2 = this.cbDay;
now = DateTime.Now;
num = now.Day;
comboBox2.Text = num.ToString();
NumericUpDown numericUpDown = this.nudHour;
now = DateTime.Now;
numericUpDown.Value = now.Hour;
NumericUpDown numericUpDown2 = this.nudMintes;
now = DateTime.Now;
numericUpDown2.Value = now.Minute;
NumericUpDown numericUpDown3 = this.nudSecond;
now = DateTime.Now;
numericUpDown3.Value = now.Second;
this.tmrTime.Interval = 1000;
this.tmrTime.Enabled = true;
for (int j = 1; j < 13; j )
{
this.cbMoth.Items.Add(j);
}
for (int i = 1; i < 32; i )
{
this.cbDay.Items.Add(i);
}
this.cbMoth.Enabled = false;
this.cbDay.Enabled = false;
this.nudHour.Enabled = false;
this.nudMintes.Enabled = false;
this.nudSecond.Enabled = false;
}
private void numericUpDown2_ValueChanged(object sender, EventArgs e)
{
}
private void checkBox1_CheckedChanged(object sender, EventArgs e)
{
}
private void ckBx_CheckedChanged(object sender, EventArgs e)
{
if (this.ckBx.Checked)
{
this.cbMoth.Enabled = true;
this.cbDay.Enabled = true;
this.nudHour.Enabled = true;
this.nudMintes.Enabled = true;
this.nudSecond.Enabled = true;
this.btClose.Enabled = true;
this.btCancellation.Enabled = true;
this.btRestart.Enabled = true;
this.btEsc.Enabled = false;
}
else
{
this.cbMoth.Enabled = false;
this.cbDay.Enabled = false;
this.nudHour.Enabled = false;
this.nudMintes.Enabled = false;
this.nudSecond.Enabled = false;
this.btClose.Enabled = false;
this.btCancellation.Enabled = false;
this.btRestart.Enabled = false;
this.btEsc.Enabled = true;
}
}
private void windowShow()
{
base.Show();
base.ShowInTaskbar = true;
base.WindowState = FormWindowState.Normal;
}
private void windowHide()
{
base.Hide();
base.ShowInTaskbar = false;
}
private void cbMoth_SelectedIndexChanged(object sender, EventArgs e)
{
try
{
int temp2 = int.Parse(this.cbMoth.Text);
int temp = int.Parse(this.cbDay.Text);
DateTime now;
if (temp2 < 1 || temp2 > 12)
{
ComboBox comboBox = this.cbMoth;
now = DateTime.Now;
comboBox.Text = now.Month.ToString();
}
if (this.cbMoth.Text == "2")
{
this.cbDay.Items.Clear();
now = DateTime.Now;
int year = now.Year;
if ((year % 4 == 0 && year % 100 != 0) || year % 400 == 0)
{
for (int l = 1; l <= 29; l )
{
this.cbDay.Items.Add(l);
}
}
else
{
for (int l = 1; l <= 28; l )
{
this.cbDay.Items.Add(l);
}
}
}
else if (this.cbMoth.Text == "4" || this.cbMoth.Text == "6" || this.cbMoth.Text == "9" || this.cbMoth.Text == "11")
{
this.cbDay.Items.Clear();
for (int l = 1; l <= 30; l )
{
this.cbDay.Items.Add(l);
}
}
else
{
this.cbDay.Items.Clear();
for (int l = 1; l <= 31; l )
{
this.cbDay.Items.Add(l);
}
}
}
catch (Exception ex)
{
MessageBox.Show("错误:" ex);
}
}
private bool timecontrol()
{
if (this.ckBx.Checked)
{
string[] array = new string[11]
{
DateTime.Now.Year.ToString(),
"/",
this.cbMoth.Text,
"/",
this.cbDay.Text,
" ",
null,
null,
null,
null,
null
};
string[] array2 = array;
decimal value = this.nudHour.Value;
array2[6] = value.ToString();
array[7] = ":";
string[] array3 = array;
value = this.nudMintes.Value;
array3[8] = value.ToString();
array[9] = ":";
string[] array4 = array;
value = this.nudSecond.Value;
array4[10] = value.ToString();
DateTime startTime = Convert.ToDateTime(string.Concat(array));
TimeSpan endTime = startTime - DateTime.Now;
this.counttime = endTime.Days * 864800 endTime.Hours * 3600 endTime.Minutes * 60 endTime.Seconds;
}
if (this.counttime < 0)
{
MessageBox.Show("时间输入有误,请重新输入!", "操作提示", MessageBoxButtons.OK, MessageBoxIcon.Asterisk);
this.cbMoth.Enabled = true;
this.cbDay.Enabled = true;
this.nudHour.Enabled = true;
this.nudMintes.Enabled = true;
this.nudSecond.Enabled = true;
this.btClose.Enabled = true;
this.btCancellation.Enabled = true;
this.btRestart.Enabled = true;
this.btEsc.Enabled = false;
this.tmrTime.Enabled = false;
return false;
}
this.tmrTime.Enabled = true;
return true;
}
private void btEsc_Click(object sender, EventArgs e)
{
base.Close();
}
private void tmrTime_Tick(object sender, EventArgs e)
{
this.label1.Text = DateTime.Now.ToString("yyy年MM月dd日HH:mm:ss");
if (this.cmd != null)
{
this.gotime ;
if (this.counttime - this.gotime 5 < 0)
{
this.txtRemind.Text = "0";
this.cmd = null;
}
else
{
int temp = this.counttime - this.gotime 1;
this.txtRemind.Text = temp / 864800 "天" temp % 864800 / 3600 "时" temp % 3600 / 60 "分" temp % 60 "秒";
if (this.counttime - this.gotime 1 == 0)
{
ProcessStartInfo P = new ProcessStartInfo("shutdown.exe", this.cmd);
P.WindowStyle = ProcessWindowStyle.Hidden;
Process.Start(P);
Application.ExitThread();
Application.Exit();
}
}
}
}
private void btClose_Click(object sender, EventArgs e)
{
this.flag = false;
if (this.flag1 && this.flag2)
{
this.btClose.ForeColor = Color.Red;
if (this.timecontrol())
{
this.cmd = "-s -t 0";
this.allow();
}
}
}
private void btRestart_Click(object sender, EventArgs e)
{
this.flag1 = false;
if (this.flag && this.flag2)
{
this.btRestart.ForeColor = Color.Red;
if (this.timecontrol())
{
this.cmd = "-r -t 0";
this.allow();
}
}
}
private void btCancellation_Click(object sender, EventArgs e)
{
this.flag2 = false;
if (this.flag && this.flag1)
{
this.btCancellation.ForeColor = Color.Red;
if (this.timecontrol())
{
this.cmd = "-l";
this.allow();
}
}
}
private void button1_Click_1(object sender, EventArgs e)
{
this.cmd = null;
this.gotime = 0;
this.counttime = 0;
this.txtRemind.Text = "";
this.btClose.ForeColor = Color.Black;
this.btRestart.ForeColor = Color.Black;
this.btCancellation.ForeColor = Color.Black;
this.flag = true;
this.flag1 = true;
this.flag2 = true;
MessageBox.Show("任务已被成功取消", "操作提示", MessageBoxButtons.OK, MessageBoxIcon.Asterisk);
}
private void label9_Click(object sender, EventArgs e)
{
}
}
}
好例子网口号:伸出你的我的手 — 分享!
小贴士
感谢您为本站写下的评论,您的评论对其它用户来说具有重要的参考价值,所以请认真填写。
- 类似“顶”、“沙发”之类没有营养的文字,对勤劳贡献的楼主来说是令人沮丧的反馈信息。
- 相信您也不想看到一排文字/表情墙,所以请不要反馈意义不大的重复字符,也请尽量不要纯表情的回复。
- 提问之前请再仔细看一遍楼主的说明,或许是您遗漏了。
- 请勿到处挖坑绊人、招贴广告。既占空间让人厌烦,又没人会搭理,于人于己都无利。
关于好例子网
本站旨在为广大IT学习爱好者提供一个非营利性互相学习交流分享平台。本站所有资源都可以被免费获取学习研究。本站资源来自网友分享,对搜索内容的合法性不具有预见性、识别性、控制性,仅供学习研究,请务必在下载后24小时内给予删除,不得用于其他任何用途,否则后果自负。基于互联网的特殊性,平台无法对用户传输的作品、信息、内容的权属或合法性、安全性、合规性、真实性、科学性、完整权、有效性等进行实质审查;无论平台是否已进行审查,用户均应自行承担因其传输的作品、信息、内容而可能或已经产生的侵权或权属纠纷等法律责任。本站所有资源不代表本站的观点或立场,基于网友分享,根据中国法律《信息网络传播权保护条例》第二十二与二十三条之规定,若资源存在侵权或相关问题请联系本站客服人员,点此联系我们。关于更多版权及免责申明参见 版权及免责申明


网友评论
我要评论