1, Download the treelistview drag and drop example from the project files on sourceforge.
2, Have the project reference to the ObjectListView 2.7 dll.
3, Compile the example.
4, Expand nodes on the left pane, as many as possible.
5, Drag the node from the right pane to the left.
6, The interface will get frozen and the mouse cursor changes to the busy one for quite SOME SECONDS.
7, The operation is finished.
If we set a break point in the Dropped event handler in Visual C# and run the above procedure, and press F5 to proceed when the break point is triggered, the issue in step 6 will be gone and the updating of the interface is reduced down to less than 1 second, even including the time we manually press the F5 button.
There is a bug when cell is set as hyperlink, but there is only one row of data, then when you hover above hyperlink, cursor does not change into hand, but stays default. With two or more data rows everything works as expected. I'm not sure if same behaviour is exposed with ObjectListView.
Meanwhile I kind of found a way to do what was needed, but I wont implement it finally. I used the WM_PAINT message, and check what's the "upload region" at that moment, and also if I'm currently over a group header.
Then, if all conditions where met I could just stop the process (not sending the usual MyBase.WndProc)
It works but I really dont like to add so much work in this important message (WM_PAINT), so I wont use it.
If you find anything else, maybe some undocumented code, I'll be glad to know