【发布时间】:2011-02-05 14:50:31
【问题描述】:
我无法找到在我将文件放入富文本框中后会发生的事件。
*当您将文件放入 Rtb 时,如果您下载了从 Richtextbox 派生的用户控件,则图标的图像将复制到控件上,该控件有一些方法可以操作 RTF,其中包括 AppendRtf(_rtf)
现在我想向你展示一个可行的场景
-
我将一个文件拖到 Rtb 中,我检查它是否是一个文件被拖到控件上,如果为真我渲染所有效果
void txt_send_DragEnter(对象发送者,System.Windows.Forms.DragEventArgs e) { txt_send.Clear(); if (e.Data.GetDataPresent(DataFormats.FileDrop, false) == true) { e.Effect = DragDropEffects.All; }
} -
我删除了文件,在这种情况下,我所做的只是更新一个布尔值,指示文件已被删除 void txt_send_DragDrop(对象发送者,System.Windows.Forms.DragEventArgs e) { File_droped = true;
}
*在这个事件(2)之后,一张图片被插入到 Rtb 中
- 最后,为了测试我上面提出的问题,我调用了 mouseUp 事件,在那里我复制了该图像的 RTF(富文本格式)
*所以现在我将点击控件,并调度以下事件
*我只是想澄清一下,我知道鼠标在拖放事件之后不会准确,我只是添加它来测试我想要执行的实际操作并查看它是否有效,
void txt_send_MouseUp(object sender, System.Windows.Forms.MouseEventArgs e)
{
if (File_droped)
{
txt_main.AppendRtf(txt_send.Rtf);
}
}
*现在文件的图标(图像)被复制到另一个 RichTextBox(这工作)
现在我再次寻找的是在 DragDrop 事件之后发生的实际事件,因为我希望它在 DragDrop 结束后执行 如果我尝试从事件内部执行此操作,它将不起作用,因为图像仅在事件之后出现 txt_main.AppendRtf(txt_send.Rtf);
【问题讨论】: