If I understand your question correctly. Depending on where the user "navigates" from.
if you are on a window and want to check the completion of a form before the window closes(*) you would use the CloseQuery() event. If you want to prevent the window from closing you return 1 in that event.
if you are on a tab page on a tab control you can use the tab selectionchanging event. This happens before the user changes to a different tab page, but not if the window closes or goes somewhere different. Again return 1 to prevent change of pages and use argument oldindex to determine the tab page being navigated from.
if you are on a treeview there is also a selectionchanging event.
if you are on a datawindow, perhaps master detail, you can use the rowfocuschanging event and return 1 to prevent the user navigating to another row.
(*) Unlike browsers you can have many windows open at any given time. The user can typically navigate to another window without the previous window needing to know. For form completion before going anywhere else, a window of type response, often with ok cancel buttons. You could also use the deactivate event of your window, but that is not recommended as it is difficult to code successfully.