RichTextBox丢失粘贴文件的名称,但仅限于某些文件类型

时间:2016-06-27 12:07:47

标签: c# .net winforms richtextbox copy-paste

将文件粘贴到WinForms RichTextBox时,文件将显示为默认文件类型图标以及粘贴文件的名称。

但是:这仅适用于某些文件类型,例如jpg和msg。

看起来应该是这样的:
enter image description here

对于其他文件类型,例如pdf和doc,将显示文件类型而不是名称:
enter image description here

我验证了pdf文件的Name属性设置正确,并尝试在.NET源代码中找到文本设置的位置,但我无法超越调用本机SendMessage方法

问题:如何更改RichTextBox的行为,以便始终显示名称?

如何重现:
1.创建一个新的Form
2.向其添加RichTextBox 3.将EnableAutoDragDrop设置为true(但调用.Paste()时也会出现问题) 4.将文件从资源管理器拖到RichTextBox

可以使用以下代码缩短步骤1-3:

using System.Windows.Forms;

public class RTBForm : Form
{
    public RTBForm()
    {
        RichTextBox rtb = new RichTextBox();
        rtb.Dock = DockStyle.Fill;
        rtb.EnableAutoDragDrop = true;
        Controls.Add(rtb);
    }
}

0 个答案:

没有答案