You'll need timer to measure idle time and some kind of tracking mechanism to keep track of user's interaction with form. If idle time elapses then you'll have to inform user with MessageBox etc.
In this case I would use System.Timers.Timer class.
private void someTextBox_TextChanged(object sender, EvetArgs e)
{
ResetIdleTimer();
}
private void someCheckBox_ChekChanged(object sender, EvetArgs e)
{
ResetIdleTimer();
}
private void ResetIdleTimer()
{
idleTimer.Stop();
idleTimer.Start();
}
void idleTimer_Elapsed(object sender, ElapsedEventArgs e)
{
MessageBox.Show("Whatever you want to say to user");
}