'One problem with doing the disable alone is that it does not completely prevent multiple click events from occurring. If the app is busy, a second click could be done before the first click is handled and the button is disabled.'
I could have sworn, that this second click would be discarded by the Button instance, unless you insert an update() call in between the listBrowse() call and the setting of disabled state. And I'm still sure that this is true for Button-Click events. However there is a bug in Tk::Buttons implementation of the '<Return>' event handler Invoke() (note the capitalization) which can lead to a race condition where -state is not handled correctly in case of multiple '<Return'> events in the queue.
So +++ to your reply.
update: https://rt.cpan.org/Ticket/Display.html?id=50330
In reply to Re^3: better control of Tk::Button
by lamprecht
in thread better control of Tk::Button
by biohisham
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |