The bulk of this code was donated by Virupaksha Aithal, a member of our DevTech team in India. It's fairly common for developers to want to check for user input from time to time during long operations, especially to see whether the user wants to cancel the current activity. In VB you'd use DoEvents() to enable messages to be processed by the application's message loop and in ObjectARX you'd use acedUsrBrk(). So how to do this in .NET? The answer is to use a message filter. This allows us to check on user-input events... we still call DoEvents, as... Read more →