非常生疏的本地C ++程序员在这里使用Visual Studio几乎没有经验。我只是试图将一个简单的程序组合在一起,这个程序会改变掉落到它上面的文件的扩展名,但是我遇到了标题中的问题,当文件被拖放到表单上时会触发DragDrop事件。它到目前为止如下:
String ^ sOldName =(String ^)e-> Data-> GetData(DataFormats :: FileDrop,false);
然后抛出异常并突破事件。我从很多地方扯掉了很多这样的代码,所以很有可能它只是一种老式的语法或其他东西。
我非常感谢这方面的任何帮助。感谢。
答案 0 :(得分:0)
这里有两个问题。
首先,您可以指定true
,而不是false
,以允许GetData
调用自动为您处理格式转换。如果数据格式不正确,则您无法将数据转换为String^
。
其次,来自shell文件的数据丢弃通常是array<String^>^
,而不是String^
。
尝试以下方法:
array<String^>^ sOldName = (array<String^>^) e->Data->GetData(DataFormats::FileDrop, true);