2010-10-31 21 views
4

我正在使用Excel 2007,VS2008 Pro。 我正在構建一個VSTO加載項,它需要「從Excel單元格拖放到啓用拖拽的任務窗格」。如何以編程方式從Excel單元拖放到啓用拖動的任務窗格?

到目前爲止,我注意到我只能在單元格內拖放。它不允許我拖入任務窗格或拖過表單限制。 (http://www.computerimages.com/tip_xl.html)

注意:任務窗格已啓用拖放功能,我已經測試了我可以從任務窗格拖放到Excel,但我需要執行此操作另一種方式?

+0

[拖放和拖放到自定義任務窗格在Excel VSTO(可能重複http://stackoverflow.com/questions/5670505/drag-拖放到自定義任務窗格功能於Excel的VSTO) – Gareth 2011-04-26 13:57:29

回答

1

從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; 
    } 
} 
相關問題