繁体   English   中英

如何以编程方式从Excel单元格拖放到启用拖动的任务窗格?

[英]How can I drag and drop from Excel cells to a drag-enabled task pane programatically?

我正在使用Excel 2007,VS2008 Pro。 我正在构建一个VSTO加载项,需要“从Excel单元格拖放到启用拖动的任务窗格”。

到目前为止,我注意到我只能在细胞内拖放。 它不允许我放入任务窗格或拖过图纸限制。 (http://www.computerimages.com/tip_xl.html)

注意:任务窗格已启用拖拽,我已经测试过我可以从任务窗格拖放到excel但是我需要反过来这样做吗?

在IDE中,在要删除数据的控件上设置AllowDrop ,然后在同一控件上连接DragOverDragDrop的事件。

您的代码看起来像这样:

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;
  }
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM