Leave Event Always Triggering Twice

This forum can be browsed by the general public. Posting is limited to current SAPIEN license holders with active maintenance and does not offer a response time guarantee.
Forum rules
DO NOT POST LICENSE NUMBERS, ACTIVATION KEYS OR ANY OTHER LICENSING INFORMATION IN THIS FORUM.
Only the original author and our tech personnel can reply to a topic that is created in this forum. If you find a topic that relates to an issue you are having, please create a new topic and reference the other in your post.

Any code longer than three lines should be added as code using the 'Select Code' dropdown menu or attached as a file.
User avatar
gkhairallah
Posts: 44
Last visit: Fri Jun 11, 2021 1:36 pm
Has voted: 2 times

Leave Event Always Triggering Twice

Post by gkhairallah »

Product, version and build:2021 5.8.188
Operating system: Windows 10
PowerShell version(s): 5.1

Hi, I've been observing an odd behavior, and can't find the cause of it.
I have a "Leave" event on a Textbox that triggers a function. For some reason, the whole event is always triggering twice.

I thought that I had inadvertently associated the same Leave event name with 2 textboxes, but that wasn't the case. To be 100% sure of that, I tried renaming the leave even name to something unique and associated it only with the intended textbox, and the event still triggered twice.

I have tried closing and reopening PowerShell studio just in case, but that didn't resolve it.

Below is a link to a quick video of the issue occurring
https://www.screencast.com/t/MNYGfNby
Thoughts?

User avatar
brittneyr
Site Admin
Posts: 797
Last visit: Mon Jun 21, 2021 11:50 am
Answers: 15
Been upvoted: 11 times

Re: Leave Event Always Triggering Twice

Post by brittneyr »

Does this also happen after running your script outside of PowerShell Studio or when running in console (Ctrl + F8)?

I was not able to reproduce this behavior and without seeing the rest of you code, I can only make suggestions. Though I cannot see if this is the case, its generally a good rule to not use the Focus() method in an event handler that's called because of a focusing event, like Leave. From the video, it looks like you are using the leave event to validate the information entered, I recommend looking into use the Validating event instead.
Brittney Ryn
SAPIEN Technologies, Inc.

User avatar
gkhairallah
Posts: 44
Last visit: Fri Jun 11, 2021 1:36 pm
Has voted: 2 times

Re: Leave Event Always Triggering Twice

Post by gkhairallah »

Thanks for the guidance Brittney!
It appears that the culprit was the: $textbox_password.focus() which was inside the handler, and it was re-triggering the "Leave" event, as the password field has to switch from $textbox_password.Enabled = $false to $textbox_password.Enabled = $true.

I followed your advice by moving that whole process into a validation event, and that worked like a charm! :)

Thanks again!