【发布时间】:2015-03-31 23:32:00
【问题描述】:
我设置为true AllowDrop 实现了DragOver 和DragDrop 事件RichTextBox。在DragDrop 事件中,我将拖放的文本文件的内容加载到 RTB 上,但它确实在 RTB 中添加了文件的图标,我想将其删除:
编辑:这是我的代码:
void msg_setup_dragDrop()
{
msg_textBox.AllowDrop = true;
msg_textBox.EnableAutoDragDrop = true; msg_textBox.DragEnter += new DragEventHandler(msg_DragEnter); msg_textBox.DragDrop += new DragEventHandler(msg_DragDrop); }
void msg_DragEnter(object sender, DragEventArgs e)
{
if (e.Data.GetDataPresent(DataFormats.FileDrop))
e.Effect = DragDropEffects.Copy;
}
void msg_DragDrop(object sender, DragEventArgs e)
{
string[] files = (string[]) e.Data.GetData(DataFormats.FileDrop);
StringBuilder buffer = new StringBuilder();
foreach (string filename in files)
{
try
{
string text = File.ReadAllText(filename);
buffer.Append(text);
}
catch (Exception ex)
{
string errMsg = string.Format("cannot read the file\"{0}\" error: {1}", filename, ex.Message);
MessageBox.Show(errMsg, "Reading file error", MessageBoxButtons.OK, MessageBoxIcon.Error);
return;
}
}
msg_textBox.Text = buffer.ToString();
}
【问题讨论】:
-
无代码,但您是打开文件并仅添加文本还是仅接受丢弃的任何内容?
-
@stuartd:我会看看这段代码与我的代码有何不同。谢谢!
-
@Plutonix:查看编辑。我添加了我的代码。我想我只是在阅读文件并附加文本。它曾经在 TextBox 上工作得很好。 RTB 有何不同?
-
@dbc:是的。我将编辑标签。
标签: c# winforms drag-and-drop richtextbox