我正在使用Excel 2007,VS2008 Pro。 我正在构建一个VSTO加载项,需要“从Excel单元格拖放到启用拖动的任务窗格”。
到目前为止,我注意到我只能在细胞内拖放。它不允许我放入任务窗格或拖过图纸限制。 (http://www.computerimages.com/tip_xl.html)
注意:任务窗格已启用拖拽,我已经测试过我可以从任务窗格拖放到excel但是我需要反过来这样做吗?
答案 0 :(得分:1)
在IDE中,在要删除数据的控件上设置AllowDrop
,然后将同一控件上的DragOver
和DragDrop
的事件连接起来。
您的代码看起来像这样:
TextBox TaskPane;
void DragNDrop(object sender, DragEventArgs e) {
if (e.Effect == DragDropEffects.Move) {
if (e.Data.GetDataPresent(DataFormats.CommaSeparatedValue)) {
string csvText = e.Data.GetData(DataFormats.CommaSeparatedValue, false).ToString();
if (!String.IsNullOrEmpty(csvText)) {
TaskPane.Text = csvText;
}
}
}
}
void DragOver(object sender, DragEventArgs e) {
if (!e.Data.GetDataPresent(DataFormats.CommaSeparatedValue)) {
e.Effect = DragDropEffects.None;
} else {
e.Effect = DragDropEffects.Move;
}
}