Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/71.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 为什么这段代码实际上没有关闭我的电脑?_C# - Fatal编程技术网

C# 为什么这段代码实际上没有关闭我的电脑?

C# 为什么这段代码实际上没有关闭我的电脑?,c#,C#,我是新来的,所以请不要太难判断 我想在计时器结束后关闭电脑。但什么也没发生 只要发短信,我就可以发布这个 namespace WindowsFormsApp1 { public partial class Form3 : Form { public Form3() { InitializeComponent(); } private void button1_Click(object

我是新来的,所以请不要太难判断

我想在计时器结束后关闭电脑。但什么也没发生

只要发短信,我就可以发布这个

namespace WindowsFormsApp1  
{
    public partial class Form3 : Form 
    {
        public Form3()
        {
            InitializeComponent();
        }

        private void button1_Click(object sender, EventArgs e)
        {
            int time = int.Parse(textBox1.Text);

            timer.Interval = time * 1;
            timer.Start();
        }

        private void Form3_FormClosing(object sender, FormClosingEventArgs e)
        {
            Application.Exit();
        }

        private void timer1_Tick(object sender, EventArgs e)
        {
            if(timer.Interval.Equals(1))
            {
                Process.Start("shutdown", "/s /t 0");
            }
        }
    }
}

您正在从文本框值设置计时器间隔。为了触发进程,应该提供一个条件。启动方法

if(timer.Interval.Equals(1))
{
    Process.Start("shutdown", "/s /t 0");
}
如果用户未在文本框中输入“1”,则不会执行此代码


请记住计时器。时间间隔应以毫秒为单位。1表示1毫秒,几乎是立即的。

添加断点以确定是否进入按钮单击事件和勾号事件。您需要使用'+='Heya'注册事件!请记住,如果您希望人们帮助您解决问题/回答您的问题,您需要提供足以评估问题的示例代码。事实上,你的代码在这里并不能真正帮助任何人,也不能帮助你。除此之外,请仔细检查
计时器
类文档。如果是
System.Timers.Timer
类,那么有几个小问题。间隔->两次“滴答”之间的时间长度。因此,您已经在分配从文本解析的任何时间(顺便说一句,*1是毫无意义的)。如果您注册了timer\u Tick方法,它将永远不会=1。