У меня есть UserControl, который можно перетаскивать по моей форме. Я получаю исключение первого случая, когда элемент управления случайно перетаскивается из моей формы на рабочий стол (например):
A first chance exception of type 'System.Runtime.InteropServices.COMException' occurred in System.Windows.Forms.dll
Additional information: Invalid FORMATETC structure (Exception from HRESULT: 0x80040064 (DV_E_FORMATETC))
Когда я запускаю процесс перетаскивания, я передаю объект типа Control. Это не Сериализуемый, и при этом я не хочу, чтобы это было. Есть ли способ, которым я могу обойти это или есть обработка для перетаскивания объекта за пределы формы хоста?
CallStack:
> System.Windows.Forms.dll!System.Windows.Forms.DataObject.GetDataIntoOleStructs(ref System.Runtime.InteropServices.ComTypes.FORMATETC formatetc, ref System.Runtime.InteropServices.ComTypes.STGMEDIUM medium) + 0x175 bytes
System.Windows.Forms.dll!System.Windows.Forms.DataObject.System.Runtime.InteropServices.ComTypes.IDataObject.GetDataHere(ref System.Runtime.InteropServices.ComTypes.FORMATETC formatetc, ref System.Runtime.InteropServices.ComTypes.STGMEDIUM medium) + 0x70 bytes
System.Windows.Forms.dll!System.Windows.Forms.DataObject.System.Runtime.InteropServices.ComTypes.IDataObject.GetData(ref System.Runtime.InteropServices.ComTypes.FORMATETC formatetc, out System.Runtime.InteropServices.ComTypes.STGMEDIUM medium) + 0x152 bytes
[Native to Managed Transition]
Вот еще один стек, но VS2010 завис, поэтому я не смог скопировать и вставить его.