KnowledgeHub
Questions
Tags
Users
Search
Alex Rivera
|
Logout
Edit Question
Title
Body
I have an InfoPath form which I need to conditionally disable it's OnChange events. Since it's not possible to bind the event handlers after the form has loaded, I'm forced to rely on a global counter which indicates whether an OnChange event should be executed. Inside each OnChange event, I check whether SuppressEventsCount == 0 before performing any actions. To suppress events during the execution of some function or another, I simply set SuppressEventsCount++, and -- again when the function exits. The biggest problem with doing this is that it's not exception safe. So I had the bright idea to wrap the SuppressEvents counter in a class which implements iDisposable using(SuppressEvents s = new SuppressEvents()){ // OnChange events fired here are ignored } // OnChange events enabled again This is working, but it's still not as ideal as a c++ solution which doesn't require the use of the "using" directive at all. Is there some way to either: Trigger a destructor or some function the moment an object goes out of scope, OR Prevent the SuppressEvents object from being initialised outside of a "using" directive entirely
Tags (comma-separated)
Save Edits
Cancel