Hello Alexnaldo,
To do this, you would need to use a Visual WebGui Timer.
You would have to reset the timer on every request from the client, that is not a "KeepConnected" request.
As you will need to act on every event of every Component in the system, you will probably need to create a Library assembly in which you will create classes that will derive from all the Visual WebGui components you are using, to override their FireEvents method, and add an EventFired class member event.
In that overriding method you would of course call the base method, but also fire the EventFired event, if any method is registered to it.
When the library is ready, you could use your extended Visual WebGui controls instead, on your Form. You will be able to resiter an event listener method to the EventFired event of the relevant controls you are using, and in that method reset your Timer.
It would be wise to act only on events that are triggered by user actions in the FireEvent methods. To determine this, you could base this logic on the 'Type' string property of the event object that you receive as an argument in the FireEvent method.
On the Tick event of the Timer you could set the main UserControl on your Form (showing the content of the application) to Visible false, and show a different UserControl requesting the unlock details.
Similarly you could open a modal dialog that requires these details, but that is not a good an option from many views.
I advise you to add a Session or Context variable that would say if the user is in locked mode or not, so if a user opens a different MainForm in the same browser, they will not be able to get that page without unlocking first, even though they are still logged-in, in that session (or context in VWG v6.4).
Regards,
Ori Cohen
Support Manager, the Visual WebGui team