On your main form add a timer
public static System.Timers.Timer g_timer = new System.Timers.Timer(20 * 1000 * 60);
Now add an event on form1 constructor as:
public Form1()
{
InitializeComponent();
g_timer.Elapsed += new System.Timers.ElapsedEventHandler(g_timer_Elapsed);
g_timer.Start();
}
and the event handler as
private static void g_timer_Elapsed(object sender, EventArgs e)
{
//Hide/ Close other forms and Show login form
}
Now write a function to reset the timer in main form
public static void resettimer()
{
g_timer.Stop();
g_timer.Start();
}
Now you can call form1.resettimer() function on each form's KeyPress event like this.
private void Form2_KeyPress(object sender, KeyPressEventArgs e)
{
form1.resettimer();
}