[IronPython] WPF/IronPython event handlers question - multiple event handlers

Michael Foord fuzzyman at voidspace.org.uk
Mon Jun 7 23:56:01 CEST 2010


On 07/06/2010 21:26, Ken MacDonald wrote:
> Hi,
> I've got a whole stack of event handlers, assigned via the usual 
> something like....
>
> my_button.Click += button_was_clicked
>
> As it turns out, the initialization for the thing that has all these 
> handlers may need to be run several times, and it seems like I ended 
> up with multiple copies of the same event handler, and 
> "button_was_clicked()" now gets invoked multiple times for EACH time I 
> click my_button. It seems to be solved by just skipping the handler 
> assignment if I've already done it before, but it seems odd that the 
> same EH would be assigned and fired twice. 

It would seem odder to me if you added an event handler multiple times 
and it *wasn't* called. :-)

The less programming languages read your mind and work out what they 
*think* you meant the better. If you don't want an event handler 
installed multiple times then don't add it multiple times...

Michael Foord

> Is this really what I'm seeing? I can see a case for assigning 
> multiple *different* EH's:
>
> my_button.Click += event_handler_1
> my_button.Click += event_handler_2
>
> but then this begs the question, is there a defined order in which the 
> EH's will fire? I looked thru multiple python/IronPython books and 
> googled, but came up empty on both questions..... Hopefully someone 
> here understands these things better than I do....
> Ken
>
>
> _______________________________________________
> Users mailing list
> Users at lists.ironpython.com
> http://lists.ironpython.com/listinfo.cgi/users-ironpython.com
>    


-- 
http://www.ironpythoninaction.com/
http://www.voidspace.org.uk/blog

READ CAREFULLY. By accepting and reading this email you agree, on behalf of your employer, to release me from all obligations and waivers arising from any and all NON-NEGOTIATED agreements, licenses, terms-of-service, shrinkwrap, clickwrap, browsewrap, confidentiality, non-disclosure, non-compete and acceptable use policies ("BOGUS AGREEMENTS") that I have entered into with your employer, its partners, licensors, agents and assigns, in perpetuity, without prejudice to my ongoing rights and privileges. You further represent that you have the authority to release me from any BOGUS AGREEMENTS on behalf of your employer.


-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/ironpython-users/attachments/20100607/b4800421/attachment.html>


More information about the Ironpython-users mailing list