public static async Task LockExtAsync(this XtraForm xtraForm, Func<Task> onLock)
{


   IOverlaySplashScreenHandle handle = null;
   try
   {
       handle = SplashScreenManager.ShowOverlayForm(xtraForm);
       await onLock();
   }
   finally
   {
       SplashScreenManager.CloseOverlayForm(handle);
   }

}

// USAGE
await form.LockExtAsync(async () =>
{
	// Login here
});