C# 指定事件的计时器
我想做一个关机计时器。意思是启动给定时间的计时器,然后将计算机设置为关机。我搜索了internet+stackoverflow of cause,找不到任何有用的东西,既可以用来计时我自己的关机事件,也可以在屏幕上显示它。您尝试了什么 如果希望程序结束时计时器保持活动状态,我建议使用任务规划器。您可以定义执行时间,将其设置为只执行一次,然后删除 否则,您可以在应用程序内创建一个计时器,并将适当的事件绑定到它 两者都需要管理员权限 要显示时间,您需要在窗体上显示一些内容。例如标签。然后您可以执行以下操作:C# 指定事件的计时器,c#,C#,我想做一个关机计时器。意思是启动给定时间的计时器,然后将计算机设置为关机。我搜索了internet+stackoverflow of cause,找不到任何有用的东西,既可以用来计时我自己的关机事件,也可以在屏幕上显示它。您尝试了什么 如果希望程序结束时计时器保持活动状态,我建议使用任务规划器。您可以定义执行时间,将其设置为只执行一次,然后删除 否则,您可以在应用程序内创建一个计时器,并将适当的事件绑定到它 两者都需要管理员权限 要显示时间,您需要在窗体上显示一些内容。例如标签。然后您可以执行以
private void button1_Click(object sender, EventArgs e)
{
var x = new Timer();
x.Tick += new EventHandler((obj, eventargs) => {
var t = obj as Timer;
var tag = (int)t.Tag;
label1.Text = string.Format("{0:0.0}s until shutdown", tag/10d);
t.Tag = tag - 1;
if (tag == 0)
{
t.Enabled = false;
MessageBox.Show("I shall initiate the shutdown here!", "Brace yourself!");
Process.Start("shutdown", "/s /t 10"); // Do the actual shutdown here
}
});
x.Interval = 100;
x.Tag = 30;
x.Enabled = true;
}
如果要中止倒计时,则需要将局部变量提升为窗体的私有字段。这样,您可以随时禁用计时器。您可以执行.NET表单应用程序。在第页上放置计时器控件。在带有标签控件的页面上显示计数器,向下倒计时。然后一旦完成。使用Shell调用Shutdown命令,或在内部使用WMI或进程调用Shutdown命令。Startshutdown,/s/t 0;您想在应用程序计时器过期时关闭计算机吗?回复:在下面的回答中,计时器没有屏幕显示。如果希望看到计时器倒计时,则需要为其创建自己的显示组件。编辑您的问题,并向我们提供有关您正在尝试执行的操作的更多信息。我不希望程序关闭后计时器处于活动状态。我想自己管理计时器。我试过system.timers.timer、system.threading.timer和第三个。我无法让它显示在屏幕上。