6

啊,我卡住了!

我正在编写一个打开自定义任务窗格的 Excel 加载项(它是一种数据分析工具类型)。为了提高工作效率,我希望用户能够将对象(例如文件或电子邮件附件)拖到该任务窗格的一部分上进行处理,而不必通过一个或多个文件对话框。

问题是 Excel 似乎完全覆盖了自定义任务窗格及其包含的控件的拖放属性,因此当我将文件拖放到任务窗格上时,Excel 只是尝试将其作为电子表格打开(如果它是受支持的文件类型),并且我的 DragDrop 事件永远不会触发。

有没有办法让 Excel 停止这样做,以便将 drop 事件发送到任务窗格?

4

1 回答 1

4

好的,我找到了方法。事实证明,DragDrop 事件不会触发,因为 Excel 本身会处理所有拖动事件,但 DragEnter 事件确实会触发,并且当它触发时,我可以在实际放置目标之上打开一个无模式表单。然后,此表单可以接收 DragDrop 事件(并在 DragLeave 事件中终止自身)。这有点骇人听闻,但似乎运行良好。

于 2011-04-18T08:56:15.963 回答