c#中拖放事件 打开一个文件

怎么像记事本一样将你的文件直接拖放到窗口中就可以打开文件希望能够提供具体代码... 怎么像记事本一样 将你的文件直接拖放到窗口中就可以打开文件希望能够提供具体代码 展开
 我来答
雨兰吟G
推荐于2016-06-19 · TA获得超过1082个赞
知道小有建树答主
回答量:282
采纳率:100%
帮助的人:448万
展开全部
假定有一个RichTextBox叫richTextBox1
窗体构造函数中:
richTextBox1.AllowDrop = true;
DragEventHandler rtba1,rtba2;
rtba1 = new DragEventHandler(richTextBox1_DragEnter);
rtba2=new DragEventHandler(richTextBox1_DragDrop);
richTextBox1.DragEnter +=rtba1;
richTextBox1.DragDrop += rtba2;

窗体所在类中添加:

void richTextBox1_DragDrop(object sender, DragEventArgs e)
{
String Path = ((System.Array)e.Data.GetData(DataFormats.FileDrop)).GetValue(0).ToString();
FileInfo fi = new FileInfo(Path);
String str = fi.Extension.ToUpper();
if (str == ".TXT")
{
RichTextBox rt = sender as RichTextBox;
int vv = rt.SelectionStart;
rt.Text = rt.Text.Insert(vv, File.ReadAllText(fi.FullName));
rt.SelectionStart = vv;
}
}

void richTextBox1_DragEnter(object sender, DragEventArgs e)
{
if (e.Data.GetDataPresent(DataFormats.FileDrop))
{
e.Effect = DragDropEffects.Copy;
}
else
e.Effect = DragDropEffects.None;
}
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式