C# 闲置期后关闭窗体

C# 闲置期后关闭窗体,c#,C#,我有一个简单的应用程序,如果用户在10分钟内什么都不做,我想关闭它。 我试着用计时器和秒表,但我解决不了 [DllImport("user32.dll")] public static extern Boolean GetLastInputInfo(ref tagLASTINPUTINFO plii); public struct tagLASTINPUTINFO { public uint cbSize; public Int32 dwTime; } private voi

我有一个简单的应用程序,如果用户在10分钟内什么都不做,我想关闭它。 我试着用计时器和秒表,但我解决不了

[DllImport("user32.dll")]
public static extern Boolean GetLastInputInfo(ref tagLASTINPUTINFO plii);

public struct tagLASTINPUTINFO
{
    public uint cbSize;
    public Int32 dwTime;
}

private void counter_idle_time_step2_Tick(object sender, EventArgs e)
{
    tagLASTINPUTINFO LastInput = new tagLASTINPUTINFO();
    Int32 IdleTime;
    LastInput.cbSize = (uint)Marshal.SizeOf(LastInput);
    LastInput.dwTime = 0;

    if (GetLastInputInfo(ref LastInput))
    {
        IdleTime = System.Environment.TickCount - LastInput.dwTime;
        if (lg_st2.counter_time_logout == (IdleTime / 1000))
        {
            this.Close();
            lg_st2.Show();
        }
    }
}

我该怎么做呢。请给我看一些示例。

我不太理解您的代码,但我看到的一点是这行代码:

if (lg_st2.counter_time_logout == (IdleTime / 1000))
在这一刻,你只是说:如果在整整10分钟内什么也没做,那就关门吧。(如果是10分钟1秒,它就不起作用) 但是,你想说的是:

if (lg_st2.counter_time_logout <= (IdleTime / 1000))

if(lg_st2.counter_time_logout可能会对您有所帮助。计时器滴答声功能是您可以将时间更改为10分钟的功能。
我尝试使用计时器和秒表,但我无法解决它。
:好的,那么您现在在上面的代码会发生什么呢?对我来说,这似乎很简单。也许可以代替
=
您想要的
=
=
?妈那样