【发布时间】:2016-04-14 12:02:32
【问题描述】:
使用 Drag&Drop 将文件拖放到 RichTextBox 时,即使拖动了更多文件,也只会插入 1 个文件。如何改变行为?
示例表格,说明问题:
using System.Collections.Specialized;
using System.Windows.Forms;
namespace WindowsFormsApplication3
{
public partial class Form1 : Form
{
RichTextBox rtb;
public Form1()
{
rtb = new System.Windows.Forms.RichTextBox();
rtb.Dock = DockStyle.Fill;
rtb.AllowDrop = true;
Controls.Add(rtb);
rtb.DragEnter += Rtb_DragEnter;
rtb.DragDrop += Rtb_DragDrop;
}
private void Rtb_DragEnter(object sender, DragEventArgs e)
{
e.Effect = DragDropEffects.Copy;
}
private void Rtb_DragDrop(object sender, DragEventArgs e)
{
StringCollection sFiles = new StringCollection();
if (e.Data.GetDataPresent("FileDrop"))
{
sFiles.AddRange((string[])e.Data.GetData("FileDrop")); //returns a list of files
Clipboard.Clear();
Clipboard.SetFileDropList(sFiles);
rtb.Paste(DataFormats.GetFormat(DataFormats.FileDrop));
}
}
}
}
【问题讨论】:
标签: c# winforms drag-and-drop richtextbox