SAnatoly
Гость
|
|
« : 13-12-2005 10:11 » |
|
Здравствуйте, Возникла проблема. Язык C#, Visual Studio 2003. Необходимо скопировать в буфер потомок от TreeNode. Потомок довольно простой, ошибка возникает даже если в потомке нет ни одного нового поля и ни одной новой функции. При вставке из буфера функция прерывается
try { System.Windows.Forms.IDataObject dataObj = Clipboard.GetDataObject(); if (dataObj.GetDataPresent("MyNameSpace.PropertyTreeNode")) { PropertyTreeNode DestinationNode = (PropertyTreeNode)SelectedTree.SelectedNode; object obj = dataObj.GetData("MyNameSpace.PropertyTreeNode"); PropertyTreeNode NewNode = (PropertyTreeNode)obj; if (NewNode == null) return; if (DestinationNode != null) { DestinationNode.Nodes.Add(NewNode); } else { SelectedTree.Nodes.Add(NewNode); } } } catch {}
Функция прерывается здесь: object obj = dataObj.GetData("MyNameSpace.PropertyTreeNode"); Под отладчиком просто вываливается без исключения и каких-либо видимых причин (словно там return). Проверка dataObj.GetDataPresent("MyNameSpace.PropertyTreeNode") возвращает true. Причем такой же код в, но в DragAndDroup работает как часы. Этот же код только если заменить потомка на TreeNode (при замене везде PropertyTreeNode на TreeNode), тоже работает без нареканий. Не подскажете куда копать?
|