I have my own IBindingList implementation, and Im trying to work out how best to handle threading issues.
The IBindingList is modified on threads other than the GUI thread, but is not aware of what GUI control it is bound to. Ive tried look at the ListChanged.Target property to see where notifications are being sent to, but notifications are sent to the CurrenyManager, which isnt a Control and has no knowlege of InvokeRequired.
Is there a recommended way for handling this situation?
ADAdministrator Syncfusion Team November 11, 2003 12:24 PM
The GridDataBoundGrid listens for both IBindingList and currency manager events.
What we are doing in the 2.0 grouping code base is protecting such handlers with InvokeRequired checks which should take care of most of these potential problems.
We plan to move these checks into the 1.6.x code branch as well, but have not done this yet.
So future releases should be easier to manage with respect to multiple threads.
To date, most of the people using multiple threads have used our GridControl class in a virtual manner to manage things. There all interaction is done through a few events or overrides which are easy to get at to do this type of InvokeRequired checks. This avoids trying to handle currency manager events and gives a great deal of flexibilty in how things can be done.