FileDrop預計文件存在,並且drop只是做一個文件的副本。您必須將數據寫入文件,然後將該名稱傳遞給DataObject。下面只是一個演示,您需要弄清楚如何編寫文件並清理所有文件,以免在用戶的PC上創建額外的文件。
private void richTextBox1_MouseLeave(object sender, EventArgs e)
{
// If the left mouse button is down when leaving the rtb
if (MouseButtons == MouseButtons.Left)
{
// Write everything to a temp file.
System.IO.File.WriteAllText(@"z:\Temp\helloWorld.rtf", richTextBox1.SelectedRtf);
string[] filenames = { @"z:\Temp\helloWorld.rtf" };
DataObject obj = new DataObject();
// Set the drag drop data with the FileDrop format
obj.SetData(DataFormats.FileDrop, filenames);
// Start the drag drop effect
DoDragDrop(obj, DragDropEffects.All);
}
}
我編輯了您的標題。請參閱:「[應該在其標題中包含」標籤「](http://meta.stackexchange.com/questions/19190/)」,其中的共識是「不,他們不應該」。 –
好的,謝謝約翰;-) – oren